bind9/lib/ns/include/ns
Artem Boldariev d59cf5e0ce Recreate listeners on DNS transport change
This commit ensures that listeners are recreated on reconfiguration in
the case when their type changes (or when PROXY protocol type changes,
too).

Previously, if a "listen-on" statement was modified to represent a
different transport, BIND would not pick-up the change on
reconfiguration if listener type changes (e.g. DoH -> DoT) for a given
interface address and port combination. This commit fixes that by
recreating the listener.

Initially, that worked for most of the new transports as we would
recreate listeners on each reconfiguration for DoH and DoT. But at
some point we changed that in such a way that listeners were not
recreated to avoid rebinding a port as on some platforms only root can
do that for port numbers <1000, making some ports binding possible
only on start-up. We chose to asynchronously update listener socket
settings (like TLS contexts, HTTP settings) instead.

Now, we both avoid recreating the sockets if unnecessary and recreate
listeners when listener type changes.
2024-01-12 14:55:12 +02:00
..
client.h Obtain a client->handle reference when calling async_restart 2023-12-20 02:50:48 +11:00
hooks.h remove isc_task completely 2023-02-16 18:35:32 +01:00
interfacemgr.h Recreate listeners on DNS transport change 2024-01-12 14:55:12 +02:00
listenlist.h Integrate TLS cipher suites support into BIND 2024-01-12 13:27:59 +02:00
log.h Update clang to version 14 2022-06-16 17:21:11 +02:00
notify.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
query.h Refactor the isc_quota code and fix the quota in TCP accept code 2023-04-12 14:10:37 +02:00
server.h Refactor ns_server_create() to return void 2023-07-27 11:37:44 +02:00
sortlist.h remove some unused functions 2023-02-13 11:50:59 -08:00
stats.h Refactor isc_stats_create() and its downstream users to return void 2023-07-27 11:37:44 +02:00
types.h Remove AES algorithm for DNS cookies 2023-11-15 10:31:16 +01:00
update.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
xfrout.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00