mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 05:57:52 +00:00
3810. [bug] Work around broken nameservers that fail to ignore
unknown EDNS options. [RT #35766]
This commit is contained in:
parent
27963ad220
commit
469bbe0f97
3
CHANGES
3
CHANGES
@ -1,3 +1,6 @@
|
||||
3810. [bug] Work around broken nameservers that fail to ignore
|
||||
unknown EDNS options. [RT #35766]
|
||||
|
||||
3809. [doc] Fix SIT and NSID documentation.
|
||||
|
||||
3808. [doc] Clean up "prefetch" documentation. [RT #35751]
|
||||
|
@ -7455,6 +7455,24 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
|
||||
*/
|
||||
if (message->rcode != dns_rcode_noerror &&
|
||||
message->rcode != dns_rcode_nxdomain) {
|
||||
#ifdef ISC_PLATFORM_USESIT
|
||||
unsigned char sit[64];
|
||||
|
||||
/*
|
||||
* Some servers do not ignore unknown EDNS options.
|
||||
*/
|
||||
if (!NOSIT(query->addrinfo) &&
|
||||
(message->rcode == dns_rcode_formerr ||
|
||||
message->rcode == dns_rcode_notimp ||
|
||||
message->rcode == dns_rcode_refused) &&
|
||||
dns_adb_getsit(fctx->adb, query->addrinfo,
|
||||
sit, sizeof(sit)) == 0U) {
|
||||
dns_adb_changeflags(fctx->adb, query->addrinfo,
|
||||
FCTX_ADDRINFO_NOSIT,
|
||||
FCTX_ADDRINFO_NOSIT);
|
||||
resend = ISC_TRUE;
|
||||
} else
|
||||
#endif
|
||||
if (((message->rcode == dns_rcode_formerr ||
|
||||
message->rcode == dns_rcode_notimp) ||
|
||||
(message->rcode == dns_rcode_servfail &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user