mirror of
https://github.com/isc-projects/bind9.git
synced 2026-07-16 23:14:15 -04:00
Do not resend TCP requests
The req_response() function is using 'udpcount' variable to resend the request 'udpcount' times on timeout even for TCP requests, which does not make sense, as it would use the same connection. Add a condition to use the resend logic only for UDP requests.
This commit is contained in:
parent
5b37359697
commit
edcdb881da
1 changed files with 3 additions and 1 deletions
|
|
@ -976,7 +976,9 @@ req_response(isc_result_t result, isc_region_t *region, void *arg) {
|
|||
|
||||
if (result == ISC_R_TIMEDOUT) {
|
||||
LOCK(&request->requestmgr->locks[request->hash]);
|
||||
if (request->udpcount > 1) {
|
||||
if (request->udpcount > 1 &&
|
||||
(request->flags & DNS_REQUEST_F_TCP) == 0)
|
||||
{
|
||||
request->udpcount -= 1;
|
||||
dns_dispatch_resume(request->dispentry,
|
||||
request->timeout);
|
||||
|
|
|
|||
Loading…
Reference in a new issue