Skip to content

Commit

Permalink
Fix errant NXDOMAIN errors & return notimplemented on AAAA
Browse files Browse the repository at this point in the history
  • Loading branch information
sargun committed Nov 24, 2015
1 parent 3f2ac42 commit a7d87d0
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
5 changes: 4 additions & 1 deletion resolver/resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,10 @@ func (res *Resolver) handleEmpty(rs *records.RecordGenerator, name string, m, r
}

m.Rcode = dns.RcodeNameError
if qType == dns.TypeAAAA && len(rs.SRVs[name])+len(rs.As[name]) > 0 {

if qType == dns.TypeAAAA {
m.Rcode = dns.RcodeNotImplemented
} else if len(rs.SRVs[name])+len(rs.As[name]) > 0 {
m.Rcode = dns.RcodeSuccess
}

Expand Down
4 changes: 2 additions & 2 deletions resolver/resolver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ func runHandlers() error {
res.HandleMesos,
Message(
Question("chronos.marathon.mesos.", dns.TypeAAAA),
Header(true, dns.RcodeSuccess),
Header(true, dns.RcodeNotImplemented),
NSs(
SOA(RRHeader("chronos.marathon.mesos.", dns.TypeSOA, 60),
"ns1.mesos", "root.ns1.mesos", 60))),
Expand All @@ -209,7 +209,7 @@ func runHandlers() error {
res.HandleMesos,
Message(
Question("missing.mesos.", dns.TypeAAAA),
Header(true, dns.RcodeNameError),
Header(true, dns.RcodeNotImplemented),
NSs(
SOA(RRHeader("missing.mesos.", dns.TypeSOA, 60),
"ns1.mesos", "root.ns1.mesos", 60))),
Expand Down

0 comments on commit a7d87d0

Please sign in to comment.