bind9/lib/isc/netmgr
Ondřej Surý 7ad2d6e986
Don't enable SO_REUSEADDR on outgoing UDP sockets
Currently, the outgoing UDP sockets have enabled
SO_REUSEADDR (SO_REUSEPORT on BSDs) which allows multiple UDP sockets to
bind to the same address+port.  There's one caveat though - only a
single (the last one) socket is going to receive all the incoming
traffic.  This in turn could lead to incoming DNS message matching to
invalid dns_dispatch and getting dropped.

Disable setting the SO_REUSEADDR on the outgoing UDP sockets.  This
needs to be done explicitly because `uv_udp_open()` silently enables the
option on the socket.

(cherry picked from commit eec30c33c2)
2024-10-02 15:20:28 +02:00
..
http.c Keep the endpoints set reference within an HTTP/2 socket 2024-06-10 18:35:18 +02:00
netmgr-int.h Don't enable SO_REUSEADDR on outgoing UDP sockets 2024-10-02 15:20:28 +02:00
netmgr.c Don't enable SO_REUSEADDR on outgoing UDP sockets 2024-10-02 15:20:28 +02:00
tcp.c Don't enable SO_REUSEADDR on outgoing UDP sockets 2024-10-02 15:20:28 +02:00
tcpdns.c Don't enable SO_REUSEADDR on outgoing UDP sockets 2024-10-02 15:20:28 +02:00
timer.c Change single write timer to per-send timers 2022-03-11 10:52:22 +01:00
tlsdns.c Don't enable SO_REUSEADDR on outgoing UDP sockets 2024-10-02 15:20:28 +02:00
tlsstream.c Attach/detach to the listening child socket when accepting TLS 2024-08-07 17:20:03 +02:00
udp.c Don't enable SO_REUSEADDR on outgoing UDP sockets 2024-10-02 15:20:28 +02:00
uv-compat.c Add uv_tcp_close_reset compat 2022-02-17 09:47:43 +01:00
uv-compat.h Limit the outgoing UDP send queue size 2024-09-17 16:20:00 +02:00
uverr2result.c add a result code for ENOPROTOOPT, EPROTONOSUPPORT 2023-04-21 12:47:07 +02:00