mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-25 10:52:13 -04:00
Use default_rcode for AsyncDnsServer where applicable
Rule of thumb: If a RCode is set unconditionally in all ResponseHandlers, set it in the server constructor.
This commit is contained in:
parent
c7d84dc86a
commit
e4de7eb4f9
6 changed files with 12 additions and 21 deletions
|
|
@ -443,7 +443,6 @@ class ChainResponseHandler(DomainHandler):
|
|||
for rrset in self._additional_rrsets:
|
||||
qctx.response.additional.append(rrset)
|
||||
|
||||
qctx.response.set_rcode(dns.rcode.NOERROR)
|
||||
qctx.response.use_edns()
|
||||
yield DnsResponseSend(qctx.response)
|
||||
|
||||
|
|
@ -473,7 +472,9 @@ class ChainResponseHandler(DomainHandler):
|
|||
|
||||
|
||||
def main() -> None:
|
||||
server = ControllableAsyncDnsServer(default_aa=True)
|
||||
server = ControllableAsyncDnsServer(
|
||||
default_aa=True, default_rcode=dns.rcode.NOERROR
|
||||
)
|
||||
server.install_control_command(ChainSetupCommand())
|
||||
server.run()
|
||||
|
||||
|
|
|
|||
|
|
@ -29,13 +29,12 @@ class TruncateOnUdpHandler(ResponseHandler):
|
|||
self, qctx: QueryContext
|
||||
) -> AsyncGenerator[ResponseAction, None]:
|
||||
assert qctx.protocol == DnsProtocol.UDP, "This server only supports UDP"
|
||||
qctx.response.set_rcode(dns.rcode.NOERROR)
|
||||
qctx.response.flags |= dns.flags.TC
|
||||
yield DnsResponseSend(qctx.response)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
server = AsyncDnsServer()
|
||||
server = AsyncDnsServer(default_rcode=dns.rcode.NOERROR)
|
||||
server.install_connection_handler(ConnectionReset(delay=1.0))
|
||||
server.install_response_handler(TruncateOnUdpHandler())
|
||||
server.run()
|
||||
|
|
|
|||
|
|
@ -33,13 +33,14 @@ class MaybeDelayedAddressAnswerHandler(ResponseHandler):
|
|||
rrset = dns.rrset.from_text(qctx.qname, 300, qctx.qclass, qctx.qtype, addr)
|
||||
qctx.response.answer.append(rrset)
|
||||
|
||||
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)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
server = ControllableAsyncDnsServer(default_aa=True)
|
||||
server = ControllableAsyncDnsServer(
|
||||
default_aa=True, default_rcode=dns.rcode.NOERROR
|
||||
)
|
||||
server.install_control_command(ToggleResponsesCommand())
|
||||
server.install_response_handler(MaybeDelayedAddressAnswerHandler())
|
||||
server.run()
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ class ChaseDsHandler(ResponseHandler):
|
|||
response_rdata = ". . 0 0 0 0 0"
|
||||
response_section = qctx.response.authority
|
||||
|
||||
qctx.response.set_rcode(dns.rcode.NOERROR)
|
||||
qctx.response.use_edns(None)
|
||||
|
||||
response_rrset = dns.rrset.from_text(
|
||||
|
|
@ -72,7 +71,9 @@ class ChaseDsHandler(ResponseHandler):
|
|||
|
||||
|
||||
def main() -> None:
|
||||
server = ControllableAsyncDnsServer(default_aa=True)
|
||||
server = ControllableAsyncDnsServer(
|
||||
default_rcode=dns.rcode.NOERROR, default_aa=True
|
||||
)
|
||||
server.install_control_command(ToggleResponsesCommand())
|
||||
server.install_response_handler(ChaseDsHandler())
|
||||
server.run()
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@ class ReplyA(ResponseHandler):
|
|||
qctx.qname, 300, dns.rdataclass.IN, dns.rdatatype.A, "10.53.0.5"
|
||||
)
|
||||
qctx.response.answer.append(a_rrset)
|
||||
qctx.response.set_rcode(dns.rcode.NOERROR)
|
||||
yield DnsResponseSend(qctx.response)
|
||||
|
||||
|
||||
|
|
@ -49,19 +48,10 @@ class IgnoreNs(ResponseHandler):
|
|||
yield ResponseDrop()
|
||||
|
||||
|
||||
class FallbackHandler(ResponseHandler):
|
||||
async def get_responses(
|
||||
self, qctx: QueryContext
|
||||
) -> AsyncGenerator[DnsResponseSend, None]:
|
||||
qctx.response.set_rcode(dns.rcode.NOERROR)
|
||||
yield DnsResponseSend(qctx.response)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
server = AsyncDnsServer(default_aa=True)
|
||||
server = AsyncDnsServer(default_aa=True, default_rcode=dns.rcode.NOERROR)
|
||||
server.install_response_handler(ReplyA())
|
||||
server.install_response_handler(IgnoreNs())
|
||||
server.install_response_handler(FallbackHandler())
|
||||
server.run()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -48,12 +48,11 @@ class IncrementARecordHandler(ResponseHandler):
|
|||
qctx.response.answer.append(rrset)
|
||||
self._ip_address += 1
|
||||
|
||||
qctx.response.set_rcode(dns.rcode.NOERROR)
|
||||
yield DnsResponseSend(qctx.response)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
server = AsyncDnsServer(default_aa=True)
|
||||
server = AsyncDnsServer(default_aa=True, default_rcode=dns.rcode.NOERROR)
|
||||
server.install_response_handler(IncrementARecordHandler())
|
||||
server.run()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue