]> git.r.bdr.sh - rbdr/mobius/blobdiff - hotline/account.go
Update README.md
[rbdr/mobius] / hotline / account.go
index 7b2aafed09889a16a6b454036e844f4cd59083b6..526eb053b176a84b54d9d84b56ade12ac9e0a89f 100644 (file)
@@ -14,16 +14,17 @@ type Account struct {
        Login    string       `yaml:"Login"`
        Name     string       `yaml:"Name"`
        Password string       `yaml:"Password"`
-       Access   accessBitmap `yaml:"Access,flow"`
+       Access   AccessBitmap `yaml:"Access,flow"`
+       FileRoot string       `yaml:"FileRoot"`
 
        readOffset int // Internal offset to track read progress
 }
 
-func NewAccount(login, name, password string, access accessBitmap) *Account {
+func NewAccount(login, name, password string, access AccessBitmap) *Account {
        return &Account{
                Login:    login,
                Name:     name,
-               Password: hashAndSalt([]byte(password)),
+               Password: HashAndSalt([]byte(password)),
                Access:   access,
        }
 }
@@ -32,7 +33,7 @@ func NewAccount(login, name, password string, access accessBitmap) *Account {
 func (a *Account) Read(p []byte) (int, error) {
        fields := []Field{
                NewField(FieldUserName, []byte(a.Name)),
-               NewField(FieldUserLogin, encodeString([]byte(a.Login))),
+               NewField(FieldUserLogin, EncodeString([]byte(a.Login))),
                NewField(FieldUserAccess, a.Access[:]),
        }
 
@@ -63,8 +64,8 @@ func (a *Account) Read(p []byte) (int, error) {
        return n, nil
 }
 
-// hashAndSalt generates a password hash from a users obfuscated plaintext password
-func hashAndSalt(pwd []byte) string {
+// HashAndSalt generates a password hash from a users obfuscated plaintext password
+func HashAndSalt(pwd []byte) string {
        hash, _ := bcrypt.GenerateFromPassword(pwd, bcrypt.MinCost)
 
        return string(hash)