diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-10-24 15:21:56 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-10-24 15:21:56 +0200 |
commit | 89644e4702c824f5080ae9ebcf49ff45031f4e00 (patch) | |
tree | 733e1202836213a27cd3ed727f8d9230454c3ae6 | |
parent | 813d03a5c700947973d3a5e90b4f0242f3b5a896 (diff) |
Prepare for storing last server
-rw-r--r-- | auth.go | 2 | ||||
-rw-r--r-- | auth_files.go | 17 |
2 files changed, 19 insertions, 0 deletions
@@ -25,6 +25,8 @@ type authBackend interface { Exists(name string) bool Passwd(name string) (salt, verifier []byte, err error) SetPasswd(name string, salt, verifier []byte) error + LastSrv(name string) (string, error) + SetLastSrv(name, srv string) error Timestamp(name string) (time.Time, error) Import(in []user) Export() ([]user, error) diff --git a/auth_files.go b/auth_files.go index 78adbac..e6b4abf 100644 --- a/auth_files.go +++ b/auth_files.go @@ -52,6 +52,23 @@ func (a authFiles) SetPasswd(name string, salt, verifier []byte) error { return nil } +// LastSrv returns the last server a user was on. +func (a authFiles) LastSrv(name string) (string, error) { + os.Mkdir(Path("auth"), 0700) + os.Mkdir(Path("auth/", name), 0700) + + srv, err := os.ReadFile(Path("auth/", name, "/last_server")) + return string(srv), err +} + +// SetLastSrv sets the last server a user was on. +func (a authFiles) SetLastSrv(name, srv string) error { + os.Mkdir(Path("auth"), 0700) + os.Mkdir(Path("auth/", name), 0700) + + return os.WriteFile(Path("auth/", name, "/last_server"), []byte(srv), 0600) +} + // Timestamp returns the last time an authentication entry was accessed // or an error. func (a authFiles) Timestamp(name string) (time.Time, error) { |