Remove if/else and redundant brackets in resolver
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
466225b792
commit
a72bff0da3
|
@ -111,7 +111,7 @@ func NewResolver(address string, proxyDNS bool, resolverKey string, backend DNSB
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *resolver) SetupFunc(port int) func() {
|
func (r *resolver) SetupFunc(port int) func() {
|
||||||
return (func() {
|
return func() {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
// DNS operates primarily on UDP
|
// DNS operates primarily on UDP
|
||||||
|
@ -138,7 +138,7 @@ func (r *resolver) SetupFunc(port int) func() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
r.err = nil
|
r.err = nil
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *resolver) Start() error {
|
func (r *resolver) Start() error {
|
||||||
|
@ -490,35 +490,36 @@ func (r *resolver) ServeDNS(w dns.ResponseWriter, query *dns.Msg) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
r.forwardQueryEnd()
|
r.forwardQueryEnd()
|
||||||
if resp != nil {
|
|
||||||
if resp.Rcode == dns.RcodeServerFailure {
|
if resp == nil {
|
||||||
// for Server Failure response, continue to the next external DNS server
|
|
||||||
logrus.Debugf("[resolver] external DNS %s:%s responded with ServFail for %q", proto, extDNS.IPStr, name)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
answers := 0
|
|
||||||
for _, rr := range resp.Answer {
|
|
||||||
h := rr.Header()
|
|
||||||
switch h.Rrtype {
|
|
||||||
case dns.TypeA:
|
|
||||||
answers++
|
|
||||||
ip := rr.(*dns.A).A
|
|
||||||
logrus.Debugf("[resolver] received A record %q for %q from %s:%s", ip, h.Name, proto, extDNS.IPStr)
|
|
||||||
r.backend.HandleQueryResp(h.Name, ip)
|
|
||||||
case dns.TypeAAAA:
|
|
||||||
answers++
|
|
||||||
ip := rr.(*dns.AAAA).AAAA
|
|
||||||
logrus.Debugf("[resolver] received AAAA record %q for %q from %s:%s", ip, h.Name, proto, extDNS.IPStr)
|
|
||||||
r.backend.HandleQueryResp(h.Name, ip)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if resp.Answer == nil || answers == 0 {
|
|
||||||
logrus.Debugf("[resolver] external DNS %s:%s did not return any %s records for %q", proto, extDNS.IPStr, queryType, name)
|
|
||||||
}
|
|
||||||
resp.Compress = true
|
|
||||||
} else {
|
|
||||||
logrus.Debugf("[resolver] external DNS %s:%s returned empty response for %q", proto, extDNS.IPStr, name)
|
logrus.Debugf("[resolver] external DNS %s:%s returned empty response for %q", proto, extDNS.IPStr, name)
|
||||||
|
break
|
||||||
}
|
}
|
||||||
|
if resp.Rcode == dns.RcodeServerFailure {
|
||||||
|
// for Server Failure response, continue to the next external DNS server
|
||||||
|
logrus.Debugf("[resolver] external DNS %s:%s responded with ServFail for %q", proto, extDNS.IPStr, name)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
answers := 0
|
||||||
|
for _, rr := range resp.Answer {
|
||||||
|
h := rr.Header()
|
||||||
|
switch h.Rrtype {
|
||||||
|
case dns.TypeA:
|
||||||
|
answers++
|
||||||
|
ip := rr.(*dns.A).A
|
||||||
|
logrus.Debugf("[resolver] received A record %q for %q from %s:%s", ip, h.Name, proto, extDNS.IPStr)
|
||||||
|
r.backend.HandleQueryResp(h.Name, ip)
|
||||||
|
case dns.TypeAAAA:
|
||||||
|
answers++
|
||||||
|
ip := rr.(*dns.AAAA).AAAA
|
||||||
|
logrus.Debugf("[resolver] received AAAA record %q for %q from %s:%s", ip, h.Name, proto, extDNS.IPStr)
|
||||||
|
r.backend.HandleQueryResp(h.Name, ip)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if resp.Answer == nil || answers == 0 {
|
||||||
|
logrus.Debugf("[resolver] external DNS %s:%s did not return any %s records for %q", proto, extDNS.IPStr, queryType, name)
|
||||||
|
}
|
||||||
|
resp.Compress = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if resp == nil {
|
if resp == nil {
|
||||||
|
|
Loading…
Reference in New Issue