From: Ondřej Surý Date: Mon, 28 Feb 2022 09:25:06 +0000 (+0100) Subject: Handle TCP sockets in isc__nmsocket_reset() X-Git-Tag: v9.19.0~91^2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=b220fb32bdb3c70f80b95d3611807deceab2bd55;p=thirdparty%2Fbind9.git Handle TCP sockets in isc__nmsocket_reset() The isc__nmsocket_reset() was missing a case for raw TCP sockets (used by RNDC and DoH) which would case a assertion failure when write timeout would be triggered. TCP sockets are now also properly handled in isc__nmsocket_reset(). --- diff --git a/lib/isc/netmgr/netmgr.c b/lib/isc/netmgr/netmgr.c index 313dba78aec..7ede0ec749b 100644 --- a/lib/isc/netmgr/netmgr.c +++ b/lib/isc/netmgr/netmgr.c @@ -2851,8 +2851,13 @@ isc__nmsocket_reset(isc_nmsocket_t *sock) { REQUIRE(VALID_NMSOCK(sock)); switch (sock->type) { + case isc_nm_tcpsocket: case isc_nm_tcpdnssocket: case isc_nm_tlsdnssocket: + /* + * This can be called from the TCP write timeout, or + * from the TCPDNS or TLSDNS branches of isc_nm_bad_request(). + */ REQUIRE(sock->parent == NULL); break; default: