Set default_aa for AsyncDnsServer instances where suitable

Rule of thumb: If all ResponseHandlers said authoritative=True, it
should be default_aa=True instead.
This commit is contained in:
Štěpán Balážik 2025-10-30 13:51:31 +01:00
parent 6e684d44e0
commit c7d84dc86a
6 changed files with 14 additions and 14 deletions

View file

@ -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()

View file

@ -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()

View file

@ -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()

View file

@ -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()

View file

@ -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())

View file

@ -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()