netmaker/controllers/regex.go
2024-10-25 16:17:55 +04:00

29 lines
779 B
Go

package controller
import (
"errors"
"regexp"
)
var (
errInvalidExtClientPubKey = errors.New("incorrect client public key")
errInvalidExtClientID = errors.New("node name must be alphanumderic and/or dashes and less that 15 chars")
errInvalidExtClientExtraIP = errors.New("client extra ip must be a valid cidr")
errInvalidExtClientDNS = errors.New("client dns must be a valid ip address")
errDuplicateExtClientName = errors.New("duplicate client name")
)
// allow only dashes and alphaneumeric for ext client and node names
func validName(name string) bool {
reg, err := regexp.Compile("^[a-zA-Z0-9-]+$")
if err != nil {
return false
}
if !reg.MatchString(name) {
return false
}
if len(name) < 5 || len(name) > 32 {
return false
}
return true
}