Merge branch '2024-fix-idle-timeout-for-connected-tcp-sockets' into 'main'

Fix idle timeout for connected TCP sockets

Closes #2024

See merge request isc-projects/bind9!3854
This commit is contained in:
Michał Kępień 2020-07-30 09:32:07 +00:00
commit 1ce582ca47
2 changed files with 12 additions and 5 deletions

View file

@ -1,3 +1,7 @@
5477. [bug] The idle timeout for connected TCP sockets is now
derived from the client query processing timeout
configured for a resolver. [GL #2024]
5476. [placeholder]
5475. [bug] Fix RPZ wildcard passthru ignored when a rejection

View file

@ -3012,12 +3012,15 @@ resquery_connected(isc_task_t *task, isc_event_t *event) {
case ISC_R_SUCCESS:
/*
* Extend the idle timer for TCP. 20 seconds
* should be long enough for a TCP connection to be
* established, a single DNS request to be sent,
* and the response received.
* Extend the idle timer for TCP. Half of
* "resolver-query-timeout" will hopefully be long
* enough for a TCP connection to be established, a
* single DNS request to be sent, and the response
* received.
*/
isc_interval_set(&interval, 20, 0);
isc_interval_set(&interval,
fctx->res->query_timeout / 1000 / 2,
0);
result = fctx_startidletimer(query->fctx, &interval);
if (result != ISC_R_SUCCESS) {
FCTXTRACE("query canceled: idle timer failed; "