From: Štěpán Balážik Date: Thu, 30 Oct 2025 12:51:31 +0000 (+0100) Subject: Set default_aa for AsyncDnsServer instances where suitable X-Git-Tag: v9.21.17~25^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c7d84dc86a6a14ab0fbf8729545fac43d3df8fd5;p=thirdparty%2Fbind9.git Set default_aa for AsyncDnsServer instances where suitable Rule of thumb: If all ResponseHandlers said authoritative=True, it should be default_aa=True instead. --- diff --git a/bin/tests/system/chain/ans3/ans.py b/bin/tests/system/chain/ans3/ans.py index 4a87dfc89c3..08dab08b310 100755 --- a/bin/tests/system/chain/ans3/ans.py +++ b/bin/tests/system/chain/ans3/ans.py @@ -69,7 +69,7 @@ class CnameThenDnameHandler(DomainHandler): dname_rrset = get_dname_rrset_at_name(qctx.zone, dname_owner) qctx.response.answer.append(dname_rrset) - yield DnsResponseSend(qctx.response, authoritative=True) + yield DnsResponseSend(qctx.response) class Cve202125215(DomainHandler): @@ -108,11 +108,11 @@ class Cve202125215(DomainHandler): ) qctx.response.answer.append(cname_rrset) - yield DnsResponseSend(qctx.response, authoritative=True) + yield DnsResponseSend(qctx.response) def main() -> None: - server = AsyncDnsServer(acknowledge_manual_dname_handling=True) + server = AsyncDnsServer(acknowledge_manual_dname_handling=True, default_aa=True) server.install_response_handler(CnameThenDnameHandler()) server.install_response_handler(Cve202125215()) server.run() diff --git a/bin/tests/system/chain/ans4/ans.py b/bin/tests/system/chain/ans4/ans.py index 249da49b9aa..bec20985f4b 100755 --- a/bin/tests/system/chain/ans4/ans.py +++ b/bin/tests/system/chain/ans4/ans.py @@ -445,7 +445,7 @@ class ChainResponseHandler(DomainHandler): qctx.response.set_rcode(dns.rcode.NOERROR) qctx.response.use_edns() - yield DnsResponseSend(qctx.response, authoritative=True) + yield DnsResponseSend(qctx.response) def _non_chain_answer(self, qctx: QueryContext) -> List[dns.rrset.RRset]: owner = qctx.qname @@ -473,7 +473,7 @@ class ChainResponseHandler(DomainHandler): def main() -> None: - server = ControllableAsyncDnsServer() + server = ControllableAsyncDnsServer(default_aa=True) server.install_control_command(ChainSetupCommand()) server.run() diff --git a/bin/tests/system/fetchlimit/ans4/ans.py b/bin/tests/system/fetchlimit/ans4/ans.py index 52be94125ca..a7f82cb5b23 100644 --- a/bin/tests/system/fetchlimit/ans4/ans.py +++ b/bin/tests/system/fetchlimit/ans4/ans.py @@ -35,11 +35,11 @@ class MaybeDelayedAddressAnswerHandler(ResponseHandler): qctx.response.set_rcode(dns.rcode.NOERROR) delay = 0.05 if qctx.qname.labels[0].startswith(b"latency") else 0.00 - yield DnsResponseSend(qctx.response, delay=delay, authoritative=True) + yield DnsResponseSend(qctx.response, delay=delay) def main() -> None: - server = ControllableAsyncDnsServer() + server = ControllableAsyncDnsServer(default_aa=True) server.install_control_command(ToggleResponsesCommand()) server.install_response_handler(MaybeDelayedAddressAnswerHandler()) server.run() diff --git a/bin/tests/system/forward/ans6/ans.py b/bin/tests/system/forward/ans6/ans.py index a9fd0b8ac65..6eaa5a322da 100644 --- a/bin/tests/system/forward/ans6/ans.py +++ b/bin/tests/system/forward/ans6/ans.py @@ -68,11 +68,11 @@ class ChaseDsHandler(ResponseHandler): ) response_section.append(response_rrset) - yield DnsResponseSend(qctx.response, authoritative=True) + yield DnsResponseSend(qctx.response) def main() -> None: - server = ControllableAsyncDnsServer() + server = ControllableAsyncDnsServer(default_aa=True) server.install_control_command(ToggleResponsesCommand()) server.install_response_handler(ChaseDsHandler()) server.run() diff --git a/bin/tests/system/rpzrecurse/ans5/ans.py b/bin/tests/system/rpzrecurse/ans5/ans.py index 44de6410442..5902cf285dc 100644 --- a/bin/tests/system/rpzrecurse/ans5/ans.py +++ b/bin/tests/system/rpzrecurse/ans5/ans.py @@ -36,7 +36,7 @@ class ReplyA(ResponseHandler): ) qctx.response.answer.append(a_rrset) qctx.response.set_rcode(dns.rcode.NOERROR) - yield DnsResponseSend(qctx.response, authoritative=True) + yield DnsResponseSend(qctx.response) class IgnoreNs(ResponseHandler): @@ -54,11 +54,11 @@ class FallbackHandler(ResponseHandler): self, qctx: QueryContext ) -> AsyncGenerator[DnsResponseSend, None]: qctx.response.set_rcode(dns.rcode.NOERROR) - yield DnsResponseSend(qctx.response, authoritative=True) + yield DnsResponseSend(qctx.response) def main() -> None: - server = AsyncDnsServer() + server = AsyncDnsServer(default_aa=True) server.install_response_handler(ReplyA()) server.install_response_handler(IgnoreNs()) server.install_response_handler(FallbackHandler()) diff --git a/bin/tests/system/zero/ans5/ans.py b/bin/tests/system/zero/ans5/ans.py index 47b4da0ad0b..970c175556b 100644 --- a/bin/tests/system/zero/ans5/ans.py +++ b/bin/tests/system/zero/ans5/ans.py @@ -49,11 +49,11 @@ class IncrementARecordHandler(ResponseHandler): self._ip_address += 1 qctx.response.set_rcode(dns.rcode.NOERROR) - yield DnsResponseSend(qctx.response, authoritative=True) + yield DnsResponseSend(qctx.response) def main() -> None: - server = AsyncDnsServer() + server = AsyncDnsServer(default_aa=True) server.install_response_handler(IncrementARecordHandler()) server.run()