bind9/lib
Evan Hunt e9b6991357 fix handling of TCP timeouts
when a TCP dispatch times out, we call tcp_recv() with a result
value of ISC_R_TIMEDOUT; this cancels the oldest dispatch
entry in the dispatch's active queue, plus any additional entries
that have waited longer than their configured timeouts. if, at
that point, there were more dispatch entries still on the active
queue, it resumes reading, but until now it failed to restart
the timer.

this has been corrected: we now calculate a new timeout
based on the oldest dispatch entry still remaining.  this
requires us to initialize the start time of each dispatch entry
when it's first added to the queue.

in order to ensure that the handling of timed-out requests is
consistent, we now calculate the runtime of each dispatch
entry based on the same value for 'now'.

incidentally also fixed a compile error that turned up when
DNS_DISPATCH_TRACE was turned on.

(cherry picked from commit 0e800467ee)
2023-05-26 02:07:02 -07:00
..
bind9 deprecate delegation-only and root-delegation only 2023-03-23 14:09:53 -07:00
dns fix handling of TCP timeouts 2023-05-26 02:07:02 -07:00
irs Properly process extra nameserver lines in resolv.conf 2023-05-16 13:29:33 +10:00
isc Make sockstop netievent a high-priority one 2023-05-17 13:06:41 +03:00
isccc Update sources to Clang 15 formatting 2022-11-29 09:14:07 +01:00
isccfg deprecate delegation-only and root-delegation only 2023-03-23 14:09:53 -07:00
ns Implement new -T options for xfer system tests 2023-04-21 17:21:32 +02:00
.gitignore The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
Makefile.am move samples/resolve.c to bin/tests/system 2021-04-16 14:29:43 +02:00