mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-27 12:13:20 -04:00
Fix bugs in 'resolver/ans2' and 'resolver/ans3'
There were multiple typos and omissions regarding query minimization.
(cherry picked from commit c336c1feab)
This commit is contained in:
parent
a190f65c43
commit
7a70608cfd
3 changed files with 3 additions and 21 deletions
|
|
@ -177,16 +177,6 @@ class FallbackHandler(ResponseHandler):
|
|||
yield DnsResponseSend(qctx.response, authoritative=False)
|
||||
|
||||
|
||||
# XXX: This handler is here to provide bug-for-bug compatibility with the old server.
|
||||
class XXXBuggyTldNsHandler(QnameQtypeHandler, FallbackHandler):
|
||||
qnames = [
|
||||
"tld1.",
|
||||
"tld2.",
|
||||
]
|
||||
|
||||
qtypes = [dns.rdatatype.NS]
|
||||
|
||||
|
||||
def main() -> None:
|
||||
server = AsyncDnsServer(default_rcode=dns.rcode.NOERROR)
|
||||
|
||||
|
|
@ -202,7 +192,6 @@ def main() -> None:
|
|||
Gl6412Ns3Handler(),
|
||||
NoResponseExampleUdpHandler(),
|
||||
RootNsHandler(),
|
||||
XXXBuggyTldNsHandler(),
|
||||
)
|
||||
|
||||
# Then install DomainHandlers
|
||||
|
|
|
|||
|
|
@ -56,12 +56,7 @@ class BadCnameHandler(QnameHandler, StaticResponseHandler):
|
|||
class BadGoodDnameNsHandler(QnameQtypeHandler, StaticResponseHandler):
|
||||
qnames = ["baddname.example.net.", "gooddname.example.net."]
|
||||
qtypes = [dns.rdatatype.NS]
|
||||
# XXX: This should really be, for brevity:
|
||||
# authority = [soa_rrset("example.net.")]
|
||||
# But we are reproducing the exact behavior of the original server.
|
||||
authority = [
|
||||
rrset("example.net.", dns.rdatatype.SOA, "1. 2. 3 4 5 1814400 3600", ttl=0)
|
||||
]
|
||||
authority = [soa_rrset("example.net.")]
|
||||
|
||||
|
||||
class CnameSubHandler(QnameHandler, StaticResponseHandler):
|
||||
|
|
|
|||
|
|
@ -107,10 +107,8 @@ class Gl6412Handler(QnameHandler):
|
|||
if qctx.qtype == dns.rdatatype.SOA:
|
||||
qctx.response.answer.append(soa_rrset(qctx.qname))
|
||||
elif qctx.qtype == dns.rdatatype.NS:
|
||||
# XXX: The delegation is broken here; dot is missing from NS target names.
|
||||
# I don't know if this is intentional, but for now we are chasing behavior parity.
|
||||
ns2_rrset = rrset(qctx.qname, dns.rdatatype.NS, f"ns2{qctx.qname}")
|
||||
ns3_rrset = rrset(qctx.qname, dns.rdatatype.NS, f"ns3{qctx.qname}")
|
||||
ns2_rrset = rrset(qctx.qname, dns.rdatatype.NS, f"ns2.{qctx.qname}")
|
||||
ns3_rrset = rrset(qctx.qname, dns.rdatatype.NS, f"ns3.{qctx.qname}")
|
||||
qctx.response.answer.append(ns2_rrset)
|
||||
qctx.response.answer.append(ns3_rrset)
|
||||
else:
|
||||
|
|
|
|||
Loading…
Reference in a new issue