diff --git a/management/server/nameserver.go b/management/server/nameserver.go index a3eb4ae2e20..80cffaf9691 100644 --- a/management/server/nameserver.go +++ b/management/server/nameserver.go @@ -3,7 +3,6 @@ package server import ( "context" "errors" - "regexp" "unicode/utf8" "github.com/miekg/dns" @@ -18,8 +17,6 @@ import ( "github.com/netbirdio/netbird/shared/management/status" ) -const domainPattern = `^(?i)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*[*.a-z]{1,}$` - var errInvalidDomainName = errors.New("invalid domain name") // GetNameServerGroup gets a nameserver group object from account and nameserver group IDs @@ -305,13 +302,7 @@ func validateGroups(list []string, groups map[string]*types.Group) error { return nil } -var domainMatcher = regexp.MustCompile(domainPattern) - func validateDomain(domain string) error { - if !domainMatcher.MatchString(domain) { - return errors.New("domain should consists of only letters, numbers, and hyphens with no leading, trailing hyphens, or spaces") - } - _, valid := dns.IsDomainName(domain) if !valid { return errInvalidDomainName diff --git a/management/server/nameserver_test.go b/management/server/nameserver_test.go index 955c6b0ef3d..db91845c9de 100644 --- a/management/server/nameserver_test.go +++ b/management/server/nameserver_test.go @@ -925,54 +925,22 @@ func TestValidateDomain(t *testing.T) { domain: "example.", errFunc: require.NoError, }, - { - name: "Invalid wildcard domain name", - domain: "*.example", - errFunc: require.Error, - }, { name: "Invalid domain name with leading dot", domain: ".com", errFunc: require.Error, }, - { - name: "Invalid domain name with dot only", - domain: ".", - errFunc: require.Error, - }, - { - name: "Invalid domain name with double hyphen", - domain: "test--example.com", - errFunc: require.Error, - }, { name: "Invalid domain name with a label exceeding 63 characters", domain: "dnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdnsdns.com", errFunc: require.Error, }, { - name: "Invalid domain name starting with a hyphen", - domain: "-example.com", - errFunc: require.Error, - }, - { - name: "Invalid domain name ending with a hyphen", - domain: "example.com-", - errFunc: require.Error, - }, - { - name: "Invalid domain with unicode", - domain: "example?,.com", - errFunc: require.Error, - }, - { - name: "Invalid domain with space before top-level domain", - domain: "space .example.com", - errFunc: require.Error, - }, - { - name: "Invalid domain with trailing space", - domain: "example.com ", + name: "Invalid domain exceeding 255 characters", + domain: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa." + + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa." + + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa." + + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com", errFunc: require.Error, }, }