aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/app/username.go
blob: 566daf5f7d7c3311c8cd3f4c3b08647ed5b5da05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
package app

import "regexp"

// nameRegex is the default NAME_REGEX value from adduser.
var nameRegex = regexp.MustCompilePOSIX(`^[a-zA-Z][a-zA-Z0-9_-]*\$?$`)

// isValidUsername returns whether the argument is a valid username
func isValidUsername(username string) bool {
	return len(username) < sysconf(_SC_LOGIN_NAME_MAX) &&
		nameRegex.MatchString(username)
}