Return NXDOMAIN when we don't have entries, and drop the non-authoritative special case for recursive dns.

This commit is contained in:
Tom Wilkie committed 2015-08-10 12:19:21 +00:00
1 parent 1a11b989e7
commit 073836905a
1 file changed
+4 -4
+4 -4
View File
@@ -135,6 +135,10 @@ func (d *DNSServer) handleLocal(defaultMaxResponseSize int) func(dns.ResponseWri
}
addrs := d.ns.Lookup(hostname)
if len(addrs) == 0 {
d.errorResponse(req, dns.RcodeNameError, w)
return
}
response := dns.Msg{}
response.RecursionAvailable = true
@@ -234,10 +238,6 @@ func (d *DNSServer) handleRecursive(client *dns.Client, defaultMaxResponseSize i
d.ns.debugf("error trying %s: %v", server, err)
continue
}
if response.Rcode != dns.RcodeSuccess && !response.Authoritative {
d.ns.debugf("non-authoritative error trying %s: %v", server, response.Rcode)
continue
}
d.ns.debugf("response: %+v", response)
response.SetReply(req)
if err := w.WriteMsg(response); err != nil {