mirror of
https://github.com/isc-projects/bind9.git
synced 2026-07-15 15:01:08 -04:00
the TC bit was only checked in messages that ended
prematurely; it should be checked always
This commit is contained in:
parent
efff2a52af
commit
211e0a6fc2
1 changed files with 10 additions and 2 deletions
|
|
@ -2783,9 +2783,17 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
|
|||
/*
|
||||
* Deal with truncated responses by retrying using TCP.
|
||||
*/
|
||||
if ((message->flags & DNS_MESSAGEFLAG_TC) != 0)
|
||||
truncated = ISC_TRUE;
|
||||
|
||||
if (truncated) {
|
||||
options |= DNS_FETCHOPT_TCP;
|
||||
resend = ISC_TRUE;
|
||||
if ((options & DNS_FETCHOPT_TCP) != 0) {
|
||||
broken_server = ISC_TRUE;
|
||||
keep_trying = ISC_TRUE;
|
||||
} else {
|
||||
options |= DNS_FETCHOPT_TCP;
|
||||
resend = ISC_TRUE;
|
||||
}
|
||||
goto done;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue