fix: complete mobile and session interactions
This commit is contained in:
@@ -68,7 +68,7 @@ func ParseRules(values []string) (*Manager, error) {
|
||||
if len(fields) < 3 || len(fields)%2 == 0 {
|
||||
continue
|
||||
}
|
||||
a := &Account{Username: fields[0], Password: fields[1], Mask: ParseMask(fields[2])}
|
||||
a := &Account{Username: fields[0], Password: fields[1], Mask: ParseMask(fields[2]), Admin: strings.EqualFold(fields[0], "admin")}
|
||||
for i := 3; i+1 < len(fields); i += 2 {
|
||||
a.Rules = append(a.Rules, PathRule{Dir: strings.Trim(fields[i], "/"), Mask: ParseMask(fields[i+1])})
|
||||
}
|
||||
|
||||
@@ -52,6 +52,16 @@ func TestParseRulesGuestDefaultAndOverride(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseRulesAdminAccount(t *testing.T) {
|
||||
m, err := ParseRules([]string{"::r|admin:secret:rw"})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !m.Accounts["admin"].Admin {
|
||||
t.Fatal("admin account should be marked admin")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSectionRuleSemantics(t *testing.T) {
|
||||
a := &Account{Mask: Delete, Rules: []PathRule{
|
||||
{Dir: "private", Mask: None, Deny: true},
|
||||
|
||||
Reference in New Issue
Block a user