dashboard/app: stricter check on namespace names
Check that namespaces don't contain bad chars.
diff --git a/dashboard/app/config.go b/dashboard/app/config.go
index 1676bf6..c8a84ee 100644
--- a/dashboard/app/config.go
+++ b/dashboard/app/config.go
@@ -135,8 +135,9 @@
}
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 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))