From: Štěpán Balážik Date: Thu, 25 Dec 2025 20:48:33 +0000 (+0100) Subject: Fix bugs in 'resolver/ans2' and 'resolver/ans3' X-Git-Tag: v9.21.18~11^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c336c1feaba1f95e35151b02d2ac5278d9cc2d98;p=thirdparty%2Fbind9.git Fix bugs in 'resolver/ans2' and 'resolver/ans3' There were multiple typos and omissions regarding query minimization. --- diff --git a/bin/tests/system/resolver/ans2/ans.py b/bin/tests/system/resolver/ans2/ans.py index 69b94d15c0e..74195b00ccc 100644 --- a/bin/tests/system/resolver/ans2/ans.py +++ b/bin/tests/system/resolver/ans2/ans.py @@ -191,16 +191,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) @@ -217,7 +207,6 @@ def main() -> None: NoResponseExampleUdpHandler(), RootNsHandler(), ZoneVersionHandler(), - XXXBuggyTldNsHandler(), ) # Then install DomainHandlers diff --git a/bin/tests/system/resolver/ans3/ans.py b/bin/tests/system/resolver/ans3/ans.py index 2594c98a243..bd21c9d4f71 100644 --- a/bin/tests/system/resolver/ans3/ans.py +++ b/bin/tests/system/resolver/ans3/ans.py @@ -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): diff --git a/bin/tests/system/resolver/resolver_ans.py b/bin/tests/system/resolver/resolver_ans.py index 29d17fc164f..e5d7854fd93 100644 --- a/bin/tests/system/resolver/resolver_ans.py +++ b/bin/tests/system/resolver/resolver_ans.py @@ -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: