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.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.go')
-rw-r--r-- | middleware/file/file.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/middleware/file/file.go b/middleware/file/file.go index 4df7427c1..8a4cd27e2 100644 --- a/middleware/file/file.go +++ b/middleware/file/file.go @@ -126,13 +126,17 @@ func Parse(f io.Reader, origin, fileName string, serial int64) (*Zone, error) { if s.Serial == uint32(serial) { // same zone return nil, fmt.Errorf("no change in serial: %d", serial) } + seenSOA = true } - seenSOA = true } if err := z.Insert(x.RR); err != nil { return nil, err } } + if !seenSOA { + return nil, fmt.Errorf("file %q has no SOA record", fileName) + } + return z, nil } |