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().

(cherry picked from commit b220fb32bd)
This commit is contained in:
Ondřej Surý 2022-02-28 10:25:06 +01:00
parent 8ebce219f5
commit 806848a440

View file

@ -2854,8 +2854,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: