]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix bugs in 'resolver/ans2' and 'resolver/ans3'
authorŠtěpán Balážik <stepan@isc.org>
Thu, 25 Dec 2025 20:48:33 +0000 (21:48 +0100)
committerŠtěpán Balážik <stepan@isc.org>
Sat, 24 Jan 2026 12:04:09 +0000 (13:04 +0100)
There were multiple typos and omissions regarding query minimization.

bin/tests/system/resolver/ans2/ans.py
bin/tests/system/resolver/ans3/ans.py
bin/tests/system/resolver/resolver_ans.py

index 69b94d15c0e8ed1c207e7de9ea8736b1dd821582..74195b00ccc4a821415d7370b3a4980b794d6c8c 100644 (file)
@@ -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
index 2594c98a243778e31e4f0e8cbd99a5d9d9c49db6..bd21c9d4f717583f954f7b1a11259516f63a9c2a 100644 (file)
@@ -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):
index 29d17fc164fe28744a2476a1a5ddbeaee66ae9de..e5d7854fd930211b036886416976408a5dfd77d1 100644 (file)
@@ -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: