middleware/file: consider no SOA a fatal error (#734)

Don't load a zone with a SOA record, barf with 'no SOA record' error.
This commit is contained in:
Miek Gieben 2017-06-13 12:51:52 -07:00 committed by GitHub
parent e9eda7e7c8
commit 46bf7f3106
2 changed files with 24 additions and 1 deletions

View file

@ -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
`