Don't allow group names to start with a period.
This commit is contained in:
+2
-2
@@ -24,8 +24,8 @@ message types.
|
||||
### Group
|
||||
|
||||
A group is a set of clients. It is identified by a human-readable name
|
||||
that must not start or end with a slash "`/`" and must not have the
|
||||
substrings "`/../`" or "`/./`".
|
||||
that must not start or end with a slash "`/`", must not start with
|
||||
a period "`.`", and must not contain the substrings "`/../`" or "`/./`".
|
||||
|
||||
### Client
|
||||
|
||||
|
||||
@@ -1085,6 +1085,11 @@ func Update() {
|
||||
)
|
||||
return nil
|
||||
}
|
||||
base := filepath.Base(filename)
|
||||
if base[0] == '.' {
|
||||
log.Printf("Group file %v ignored", filename)
|
||||
return nil
|
||||
}
|
||||
name := filename[:len(filename)-5]
|
||||
desc, err := GetDescription(name)
|
||||
if err != nil {
|
||||
|
||||
@@ -262,6 +262,10 @@ func parseGroupName(prefix string, p string) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
if name[0] == '.' {
|
||||
return ""
|
||||
}
|
||||
|
||||
if filepath.Separator != '/' &&
|
||||
strings.ContainsRune(name, filepath.Separator) {
|
||||
return ""
|
||||
|
||||
Reference in New Issue
Block a user