diff options
author | 2017-06-13 12:51:52 -0700 | |
---|---|---|
committer | 2017-06-13 12:51:52 -0700 | |
commit | 46bf7f31069137aee8a82bc4f8287ce60117652c (patch) | |
tree | 442e146aa3b7b6de4b4487fe545045e6aa62601b /middleware/file/file_test.go | |
parent | e9eda7e7c8ed75d62b02f23c62e8e318ea1685ae (diff) | |
download | coredns-46bf7f31069137aee8a82bc4f8287ce60117652c.tar.gz coredns-46bf7f31069137aee8a82bc4f8287ce60117652c.tar.zst coredns-46bf7f31069137aee8a82bc4f8287ce60117652c.zip |
middleware/file: consider no SOA a fatal error (#734)
Don't load a zone with a SOA record, barf with 'no SOA record' error.
Diffstat (limited to 'middleware/file/file_test.go')
-rw-r--r-- | middleware/file/file_test.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/middleware/file/file_test.go b/middleware/file/file_test.go index d5762683d..ae17624f9 100644 --- a/middleware/file/file_test.go +++ b/middleware/file/file_test.go @@ -10,3 +10,22 @@ func BenchmarkParseInsert(b *testing.B) { Parse(strings.NewReader(dbMiekENTNL), testzone, "stdin", 0) } } + +func TestParseNoSOA(t *testing.T) { + _, err := Parse(strings.NewReader(dbNoSOA), "example.org.", "stdin", 0) + if err == nil { + t.Fatalf("zone %q should have failed to load", "example.org.") + } + if !strings.Contains(err.Error(), "no SOA record") { + t.Fatalf("zone %q should have failed to load with no soa error: %s", "example.org.", err) + } +} + +const dbNoSOA = ` +$TTL 1M +$ORIGIN example.org. + +www IN A 192.168.0.14 +mail IN A 192.168.0.15 +imap IN CNAME mail +` |