aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-07-16 16:13:11 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-07-16 16:13:11 +0200
commitaf1bd897a41dfaad53f8110d928acbb65d06c8b1 (patch)
tree332b92588c26075355c29f19c2bffc2e0edf1381
parent36bcdbd3fd50dd9d44d753d0bb3b7f89b28a74cd (diff)
export general authentication related symbols
-rw-r--r--auth.go30
-rw-r--r--auth_files.go28
-rw-r--r--auth_mtsqlite3.go22
3 files changed, 40 insertions, 40 deletions
diff --git a/auth.go b/auth.go
index ff17bc5..5e4fd8b 100644
--- a/auth.go
+++ b/auth.go
@@ -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) {