bind9/tests
Ondřej Surý febeac215d Keep idle reused outgoing TCP connections under read
A reused TCP/TLS dispatch with no outstanding responses was left in the
reuse pool with no read pending, so a peer closing the idle connection
went unnoticed: the socket lingered in CLOSE-WAIT and the dead dispatch
was later handed to a new query, which failed and the fetch timed out.
Keep a read pending on an idle connected dispatch, bounded by an idle
timeout, so the close is seen promptly and the connection is dropped
from the pool instead of reused.

The idle read may only be (re)armed while the dispatch is still
connected; arming it on a dispatch that is already shutting down
re-reads a dying handle and double-schedules a netmgr job.

On shutdown, close the connection as soon as the dispatch reaches its
terminal state instead of waiting for the last reference to drop, so an
unexpected read (or a peer-side close) cannot leave the socket in
CLOSE-WAIT while a reference still lingers.
2026-06-24 13:52:46 +02:00
..
bench embed default sanitizer flags in executables 2026-04-05 12:46:38 +03:00
dns Keep idle reused outgoing TCP connections under read 2026-06-24 13:52:46 +02:00
include/tests ISC_RUN_TEST_IMPL should use a static declaration 2026-01-28 07:26:04 +11:00
isc Replace the shared work pool with per-loop, per-lane worker threads 2026-06-17 19:07:08 +02:00
isccfg Add build-time check for unregistered unit test files 2026-06-09 13:22:18 +02:00
libtest Move zonemgr to own source file 2026-04-08 14:24:17 +02:00
ns Add build-time check for unregistered unit test files 2026-06-09 13:22:18 +02:00
.gitignore Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
meson.build Add build-time check for unregistered unit test files 2026-06-09 13:22:18 +02:00