diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-07-16 16:13:11 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-07-16 16:13:11 +0200 |
commit | af1bd897a41dfaad53f8110d928acbb65d06c8b1 (patch) | |
tree | 332b92588c26075355c29f19c2bffc2e0edf1381 | |
parent | 36bcdbd3fd50dd9d44d753d0bb3b7f89b28a74cd (diff) |
export general authentication related symbols
-rw-r--r-- | auth.go | 30 | ||||
-rw-r--r-- | auth_files.go | 28 | ||||
-rw-r--r-- | auth_mtsqlite3.go | 22 |
3 files changed, 40 insertions, 40 deletions
@@ -7,7 +7,7 @@ import ( "time" ) -var authIface authBackend +var authIface AuthBackend var ( ErrAuthBackendExists = errors.New("auth backend already set") @@ -16,36 +16,36 @@ var ( ErrLastSrvNotSupported = errors.New("auth backend does not support server information") ) -type user struct { - name string - salt []byte - verifier []byte - timestamp time.Time +type User struct { + Name string + Salt []byte + Verifier []byte + Timestamp time.Time } -type ban struct { - addr string - name string +type Ban struct { + Addr string + Name string } -type authBackend interface { +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) error - Export() ([]user, error) + Import(in []User) error + Export() ([]User, error) Ban(addr, name string) error Unban(id string) error Banned(addr *net.UDPAddr) bool - ImportBans(in []ban) error - ExportBans() ([]ban, error) + ImportBans(in []Ban) error + ExportBans() ([]Ban, error) } -func setAuthBackend(ab authBackend) error { +func setAuthBackend(ab AuthBackend) error { if authIface != nil { return ErrAuthBackendExists } diff --git a/auth_files.go b/auth_files.go index 3e185e2..4dba3a5 100644 --- a/auth_files.go +++ b/auth_files.go @@ -84,15 +84,15 @@ func (a authFiles) Timestamp(name string) (time.Time, error) { } // Import deletes all users and adds the passed users. -func (a authFiles) Import(in []user) error { +func (a authFiles) Import(in []User) error { os.Mkdir(Path("auth"), 0700) for _, u := range in { - if err := a.SetPasswd(u.name, u.salt, u.verifier); err != nil { + if err := a.SetPasswd(u.Name, u.Salt, u.Verifier); err != nil { return err } - if err := os.Chtimes(Path("auth/", u.name, "/timestamp"), u.timestamp, u.timestamp); err != nil { + if err := os.Chtimes(Path("auth/", u.Name, "/timestamp"), u.Timestamp, u.Timestamp); err != nil { return err } } @@ -102,22 +102,22 @@ func (a authFiles) Import(in []user) error { // Export returns data that can be processed by Import // or an error. -func (a authFiles) Export() ([]user, error) { +func (a authFiles) Export() ([]User, error) { dir, err := os.ReadDir(Path("auth")) if err != nil { return nil, err } - var out []user + var out []User for _, f := range dir { - u := user{name: f.Name()} + u := User{Name: f.Name()} - u.timestamp, err = a.Timestamp(u.name) + u.Timestamp, err = a.Timestamp(u.Name) if err != nil { return nil, err } - u.salt, u.verifier, err = a.Passwd(u.name) + u.Salt, u.Verifier, err = a.Passwd(u.Name) if err != nil { return nil, err } @@ -176,11 +176,11 @@ func (a authFiles) Banned(addr *net.UDPAddr) bool { } // ImportBans deletes all ban entries and adds the passed entries. -func (a authFiles) ImportBans(in []ban) error { +func (a authFiles) ImportBans(in []Ban) error { os.Mkdir(Path("ban"), 0700) for _, b := range in { - if err := a.Ban(b.addr, b.name); err != nil { + if err := a.Ban(b.Addr, b.Name); err != nil { return err } } @@ -190,7 +190,7 @@ func (a authFiles) ImportBans(in []ban) error { // ExportBans returns data that can be processed by ImportBans // or an error, -func (a authFiles) ExportBans() ([]ban, error) { +func (a authFiles) ExportBans() ([]Ban, error) { os.Mkdir(Path("ban"), 0700) dir, err := os.ReadDir(Path("ban")) @@ -198,16 +198,16 @@ func (a authFiles) ExportBans() ([]ban, error) { return nil, err } - var out []ban + var out []Ban for _, f := range dir { - b := ban{addr: f.Name()} + b := Ban{Addr: f.Name()} name, err := os.ReadFile(Path("ban/", f.Name())) if err != nil { return nil, err } - b.name = string(name) + b.Name = string(name) out = append(out, b) } diff --git a/auth_mtsqlite3.go b/auth_mtsqlite3.go index a267bc2..890bc39 100644 --- a/auth_mtsqlite3.go +++ b/auth_mtsqlite3.go @@ -103,13 +103,13 @@ func (a *AuthMTSQLite3) Timestamp(name string) (time.Time, error) { } // Import adds the passed users. -func (a *AuthMTSQLite3) Import(in []user) error { +func (a *AuthMTSQLite3) Import(in []User) error { for _, u := range in { - if err := a.SetPasswd(u.name, u.salt, u.verifier); err != nil { + if err := a.SetPasswd(u.Name, u.Salt, u.Verifier); err != nil { return err } - a.setTimestamp(u.name, u.timestamp) + a.setTimestamp(u.Name, u.Timestamp) } return nil @@ -117,7 +117,7 @@ func (a *AuthMTSQLite3) Import(in []user) error { // Export returns data that can be processed by Import // or an error. -func (a *AuthMTSQLite3) Export() ([]user, error) { +func (a *AuthMTSQLite3) Export() ([]User, error) { var names []string result := a.db.QueryRow("SELECT name FROM auth;") @@ -134,17 +134,17 @@ func (a *AuthMTSQLite3) Export() ([]user, error) { names = append(names, name) } - var out []user + var out []User for _, name := range names { - u := user{name: name} + u := User{Name: name} var err error - u.timestamp, err = a.Timestamp(u.name) + u.Timestamp, err = a.Timestamp(u.Name) if err != nil { return nil, err } - u.salt, u.verifier, err = a.Passwd(u.name) + u.Salt, u.Verifier, err = a.Passwd(u.Name) if err != nil { return nil, err } @@ -175,14 +175,14 @@ func (a *AuthMTSQLite3) Banned(_ *net.UDPAddr) bool { // ImportBans always returns an error // since the Minetest database schema cannot store this information. -func (a *AuthMTSQLite3) ImportBans(in []ban) error { +func (a *AuthMTSQLite3) ImportBans(in []Ban) error { return ErrBanNotSupported } // ExportBans always returns an empty list of ban entries // since the Minetest database schema cannot store this information. -func (a *AuthMTSQLite3) ExportBans() ([]ban, error) { - return []ban{}, nil +func (a *AuthMTSQLite3) ExportBans() ([]Ban, error) { + return []Ban{}, nil } func (a *AuthMTSQLite3) setTimestamp(name string, t time.Time) { |