diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2019-04-10 15:07:22 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-04-10 15:07:22 +0200 |
| commit | 31e097a19f5fac01cf3d744f582f4c07ec8fd3ca (patch) | |
| tree | 31df412c373db9f40052c96b8cc3656bc575785b | |
| parent | e39dbde1dabab7ecd33d8c1c10e48978c9f87939 (diff) | |
dashboard/app: stricter check on namespace names
Check that namespaces don't contain bad chars.
| -rw-r--r-- | dashboard/app/config.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/dashboard/app/config.go b/dashboard/app/config.go index 1676bf6ce..c8a84eeab 100644 --- a/dashboard/app/config.go +++ b/dashboard/app/config.go @@ -135,8 +135,9 @@ type KernelRepo struct { } var ( - clientNameRe = regexp.MustCompile("^[a-zA-Z0-9-_]{4,100}$") - clientKeyRe = regexp.MustCompile("^[a-zA-Z0-9]{16,128}$") + namespaceNameRe = regexp.MustCompile("^[a-zA-Z0-9-_.]{4,32}$") + clientNameRe = regexp.MustCompile("^[a-zA-Z0-9-_.]{4,100}$") + clientKeyRe = regexp.MustCompile("^[a-zA-Z0-9]{16,128}$") ) type ( @@ -202,8 +203,8 @@ func checkConfig(cfg *GlobalConfig) { } func checkNamespace(ns string, cfg *Config, namespaces, clientNames map[string]bool) { - if ns == "" { - panic("empty namespace name") + if !namespaceNameRe.MatchString(ns) { + panic(fmt.Sprintf("bad namespace name: %q", ns)) } if namespaces[ns] { panic(fmt.Sprintf("duplicate namespace %q", ns)) |
