Use variadic positional parameters for plural install_* methods

It saves an indent and brackets on the call sites.

Also sort the handlers alphabetically where their order doesn't matter
and split the fallback handlers into a separate call to signify that
their position in the end matters.

(cherry picked from commit 7e587201a4)
This commit is contained in:
Štěpán Balážik 2025-12-17 14:08:03 +01:00 committed by Štěpán Balážik (GitLab job 6723741)
parent cd23f0250a
commit 5284dfd4fe
10 changed files with 37 additions and 49 deletions

View file

@ -114,7 +114,7 @@ class Cve202125215(DomainHandler):
def main() -> None:
server = AsyncDnsServer(acknowledge_manual_dname_handling=True, default_aa=True)
server.install_response_handlers([CnameThenDnameHandler(), Cve202125215()])
server.install_response_handlers(CnameThenDnameHandler(), Cve202125215())
server.run()

View file

@ -194,13 +194,11 @@ def cookie_server(evil: bool) -> AsyncDnsServer:
keyring=KEYRING, default_aa=True, default_rcode=dns.rcode.NOERROR
)
server.install_response_handlers(
[
NsHandler(evil),
GlueHandler(evil),
TcpAHandler(),
WithtsigUdpAHandler(),
UdpAHandler(),
FallbackHandler(),
]
NsHandler(evil),
GlueHandler(evil),
TcpAHandler(),
WithtsigUdpAHandler(),
UdpAHandler(),
)
server.install_response_handler(FallbackHandler())
return server

View file

@ -63,11 +63,9 @@ class SilentThenServfailHandler(DomainHandler):
def main() -> None:
server = AsyncDnsServer()
server.install_response_handlers(
[
CloseHandler(),
SilentHandler(),
SilentThenServfailHandler(),
]
CloseHandler(),
SilentHandler(),
SilentThenServfailHandler(),
)
server.run()

View file

@ -57,7 +57,7 @@ class AddNsecToTxtHandler(ResponseHandler):
def main() -> None:
server = AsyncDnsServer()
server.install_response_handlers([AddRrsigToAHandler(), AddNsecToTxtHandler()])
server.install_response_handlers(AddNsecToTxtHandler(), AddRrsigToAHandler())
server.run()

View file

@ -887,7 +887,7 @@ class AsyncDnsServer(AsyncServer):
else:
self._response_handlers.append(handler)
def install_response_handlers(self, handlers: List[ResponseHandler]) -> None:
def install_response_handlers(self, *handlers: ResponseHandler) -> None:
for handler in handlers:
self.install_response_handler(handler)
@ -1380,7 +1380,7 @@ class ControllableAsyncDnsServer(AsyncDnsServer):
def _commands(self) -> Dict[dns.name.Name, "ControlCommand"]:
return {}
def install_control_commands(self, commands: List["ControlCommand"]) -> None:
def install_control_commands(self, *commands: "ControlCommand") -> None:
for command in commands:
self.install_control_command(command)

View file

@ -100,13 +100,11 @@ class StaleHandler(DomainHandler):
def main() -> None:
server = AsyncDnsServer()
server.install_response_handlers(
[
QueryLogger(),
BadHandler(),
UglyHandler(),
SlowHandler(),
StaleHandler(),
]
QueryLogger(),
BadHandler(),
UglyHandler(),
SlowHandler(),
StaleHandler(),
)
server.run()

View file

@ -40,12 +40,10 @@ class ZoopBoingSlowHandler(DelayedResponseHandler):
def main() -> None:
server = AsyncDnsServer()
server.install_response_handlers(
[
QueryLogger(),
ZoopBoingBadHandler(),
ZoopBoingUglyHandler(),
ZoopBoingSlowHandler(),
]
QueryLogger(),
ZoopBoingBadHandler(),
ZoopBoingUglyHandler(),
ZoopBoingSlowHandler(),
)
server.run()

View file

@ -87,13 +87,11 @@ class IckyPtangZoopBoingSlowHandler(DelayedResponseHandler):
def main() -> None:
server = AsyncDnsServer()
server.install_response_handlers(
[
QueryLogger(),
StaleHandler(),
IckyPtangZoopBoingBadHandler(),
IckyPtangZoopBoingUglyHandler(),
IckyPtangZoopBoingSlowHandler(),
]
QueryLogger(),
StaleHandler(),
IckyPtangZoopBoingBadHandler(),
IckyPtangZoopBoingUglyHandler(),
IckyPtangZoopBoingSlowHandler(),
)
server.run()

View file

@ -52,7 +52,7 @@ class IgnoreNs(ResponseHandler):
def main() -> None:
server = AsyncDnsServer(default_aa=True, default_rcode=dns.rcode.NOERROR)
server.install_response_handlers([ReplyA(), IgnoreNs()])
server.install_response_handlers(ReplyA(), IgnoreNs())
server.run()

View file

@ -162,18 +162,16 @@ class FallbackHandler(ResponseHandler):
def main() -> None:
server = AsyncDnsServer(default_rcode=dns.rcode.NOERROR)
server.install_response_handlers(
[
BadGoodCnameHandler(),
Cname1Handler(),
Cname2Handler(),
ExampleHandler(),
FooInfoHandler(),
NoDataHandler(),
NxdomainHandler(),
SubHandler(),
FallbackHandler(),
]
BadGoodCnameHandler(),
Cname1Handler(),
Cname2Handler(),
ExampleHandler(),
FooInfoHandler(),
NoDataHandler(),
NxdomainHandler(),
SubHandler(),
)
server.install_response_handler(FallbackHandler())
server.run()