1
Fork 0

Don't allow group names to start with a period.

This commit is contained in:
Juliusz Chroboczek 2021-10-28 20:01:11 +02:00
parent d440cdf898
commit 8c21ede9d2
3 changed files with 11 additions and 2 deletions

View File

@ -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

View File

@ -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 {

View File

@ -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 ""