diff --git a/cmd/portunus-orchestrator/config.go b/cmd/portunus-orchestrator/config.go index 4db19f2..290128a 100644 --- a/cmd/portunus-orchestrator/config.go +++ b/cmd/portunus-orchestrator/config.go @@ -23,7 +23,7 @@ type valueCheck struct { } var ( - userOrGroupPattern = `^[a-z_][a-z0-9_-]*\$?$` + userOrGroupPattern = `^[a-z_][a-z0-9._-]*\$?$` envDefaults = map[string]string{ //empty value = not optional "PORTUNUS_DEBUG": "false", diff --git a/internal/grammars/grammars.go b/internal/grammars/grammars.go index 1253c05..e458fd0 100644 --- a/internal/grammars/grammars.go +++ b/internal/grammars/grammars.go @@ -39,7 +39,7 @@ const ( // This regex is based on the respective format description in the useradd(8) manpage. // // This is only shown for documentation purposes here; use func IsPOSIXAccountName instead. - POSIXAccountNameRegex = `^[a-z_][a-z0-9_-]*\$?$` + POSIXAccountNameRegex = `^[a-z_][a-z0-9._-]*\$?$` ) //TODO There is also some `import "regexp"` in cmd/orchestrator/ldap.go to render @@ -159,7 +159,7 @@ func checkByteInPOSIXAccountName(idx, length int, b byte) bool { switch { case (b >= 'a' && b <= 'z') || b == '_': return true - case (b >= '0' && b <= '9') || b == '-': + case (b >= '0' && b <= '9') || b == '-' || b == '.': return idx != 0 // not allowed at start default: return false