diff options
Diffstat (limited to 'middleware/file/file.go')
-rw-r--r-- | middleware/file/file.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/middleware/file/file.go b/middleware/file/file.go index c005b41cc..caf0c5fbc 100644 --- a/middleware/file/file.go +++ b/middleware/file/file.go @@ -33,6 +33,12 @@ func (f File) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (i if !ok { return f.Next.ServeDNS(ctx, w, r) } + if z == nil { + return dns.RcodeServerFailure, nil + } + if z.Expired != nil && *z.Expired { + return dns.RcodeServerFailure, nil + } if state.Proto() != "udp" && state.QType() == dns.TypeAXFR { xfr := Xfr{z} |