diff options
author | 2022-07-06 23:20:45 +0530 | |
---|---|---|
committer | 2022-07-06 13:50:45 -0400 | |
commit | a6078ddba3d193f2a8fda57d490aa6b65922159b (patch) | |
tree | 1b2cf824864073865ab8a0cd39a7f9ef63113130 /core/dnsserver/onstartup_test.go | |
parent | a35dcd7a7eb8952cb10f514cb8995b8e07eb5439 (diff) | |
download | coredns-a6078ddba3d193f2a8fda57d490aa6b65922159b.tar.gz coredns-a6078ddba3d193f2a8fda57d490aa6b65922159b.tar.zst coredns-a6078ddba3d193f2a8fda57d490aa6b65922159b.zip |
Warn when domain names are not in RFC1035 preferred syntax (#5414)
Warn when domain names are not in RFC1035 preferred syntax
Signed-off-by: Md Sahil <Mohdssahil1@gmail.com>
Diffstat (limited to 'core/dnsserver/onstartup_test.go')
-rw-r--r-- | core/dnsserver/onstartup_test.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/core/dnsserver/onstartup_test.go b/core/dnsserver/onstartup_test.go new file mode 100644 index 000000000..031613cb8 --- /dev/null +++ b/core/dnsserver/onstartup_test.go @@ -0,0 +1,40 @@ +package dnsserver + +import ( + "testing" +) + +func TestRegex1035PrefSyntax(t *testing.T) { + + testCases := []struct { + zone string + expected bool + }{ + {zone: ".", expected: true}, + {zone: "example.com.", expected: true}, + {zone: "example.", expected: true}, + {zone: "example123.", expected: true}, + {zone: "example123.com.", expected: true}, + {zone: "abc-123.com.", expected: true}, + {zone: "an-example.com.", expected: true}, + {zone: "a.example.com.", expected: true}, + {zone: "1.0.0.2.ip6.arpa.", expected: true}, + {zone: "0.10.in-addr.arpa.", expected: true}, + {zone: "example", expected: false}, + {zone: "example:.", expected: false}, + {zone: "-example.com.", expected: false}, + {zone: ".example.com.", expected: false}, + {zone: "1.example.com", expected: false}, + {zone: "abc.123-xyz.", expected: false}, + {zone: "example-?&^%$.com.", expected: false}, + {zone: "abc-.example.com.", expected: false}, + {zone: "abc-%$.example.com.", expected: false}, + {zone: "123-abc.example.com.", expected: false}, + } + + for _, testCase := range testCases { + if checkZoneSyntax(testCase.zone) != testCase.expected { + t.Errorf("Expected %v for %q", testCase.expected, testCase.zone) + } + } +} |