mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-22 10:10:14 -04:00
Do not resend after BADCOOKIE answer on TCP
When an upstream server answers BADCOOKIE, no matter the transport used, the resolver eventually resends the query using TCP. However, if the upstream server responds with BADCOOKIE again over TCP, the resolver would keep resending until the maximum query count is reached. This is now fixed by stopping resending once the query has already been sent over TCP.
This commit is contained in:
parent
5319c21761
commit
4aedf7e9dd
1 changed files with 3 additions and 1 deletions
|
|
@ -9804,7 +9804,9 @@ rctx_badserver(respctx_t *rctx, isc_result_t result) {
|
|||
rctx->broken_server = DNS_R_BADVERS;
|
||||
rctx->next_server = true;
|
||||
#endif /* if DNS_EDNS_VERSION > 0 */
|
||||
} else if (rcode == dns_rcode_badcookie && rctx->query->rmessage->cc_ok)
|
||||
} else if (rcode == dns_rcode_badcookie &&
|
||||
rctx->query->rmessage->cc_ok &&
|
||||
(rctx->retryopts & DNS_FETCHOPT_TCP) == 0)
|
||||
{
|
||||
/*
|
||||
* We have recorded the new cookie.
|
||||
|
|
|
|||
Loading…
Reference in a new issue