mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 14:07:59 +00:00
2383. [bug] named could double queries when they resulted in
SERVFAIL due to overkilling EDNS0 failure detection.
This commit is contained in:
parent
072440df4f
commit
0f39ff74a8
3
CHANGES
3
CHANGES
@ -1,3 +1,6 @@
|
||||
2383. [bug] named could double queries when they resulted in
|
||||
SERVFAIL due to overkilling EDNS0 failure detection.
|
||||
|
||||
2382. [doc] Add descriptions of DHCID, IPSECKEY, SPF and SSHFP
|
||||
to ARM.
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: resolver.c,v 1.371 2008/05/29 04:46:32 marka Exp $ */
|
||||
/* $Id: resolver.c,v 1.372 2008/06/17 22:35:08 jinmei Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@ -5843,12 +5843,17 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
|
||||
*/
|
||||
if (message->rcode != dns_rcode_noerror &&
|
||||
message->rcode != dns_rcode_nxdomain) {
|
||||
if ((message->rcode == dns_rcode_formerr ||
|
||||
message->rcode == dns_rcode_notimp ||
|
||||
message->rcode == dns_rcode_servfail) &&
|
||||
if (((message->rcode == dns_rcode_formerr ||
|
||||
message->rcode == dns_rcode_notimp) ||
|
||||
(message->rcode == dns_rcode_servfail &&
|
||||
dns_message_getopt(message) == NULL)) &&
|
||||
(query->options & DNS_FETCHOPT_NOEDNS0) == 0) {
|
||||
/*
|
||||
* It's very likely they don't like EDNS0.
|
||||
* If the response code is SERVFAIL, also check if the
|
||||
* response contains an OPT RR and don't cache the
|
||||
* failure since it can be returned for various other
|
||||
* reasons.
|
||||
*
|
||||
* XXXRTH We should check if the question
|
||||
* we're asking requires EDNS0, and
|
||||
|
Loading…
x
Reference in New Issue
Block a user