mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 05:57:52 +00:00
1206. [bug] SERVFAIL and NOTIMP responses to a EDNS should trigger
a non-EDNS retry.
This commit is contained in:
parent
06b12bc497
commit
c26c65b7a0
3
CHANGES
3
CHANGES
@ -1,3 +1,6 @@
|
|||||||
|
1206. [bug] SERVFAIL and NOTIMP responses to a EDNS should trigger
|
||||||
|
a non-EDNS retry.
|
||||||
|
|
||||||
1205. [bug] OPT, TSIG and TKEY cannot be used to set the "class"
|
1205. [bug] OPT, TSIG and TKEY cannot be used to set the "class"
|
||||||
of the message. [RT #2449]
|
of the message. [RT #2449]
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: resolver.c,v 1.237 2002/02/05 19:44:55 bwelling Exp $ */
|
/* $Id: resolver.c,v 1.238 2002/02/19 00:48:21 marka Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@ -4297,25 +4297,27 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
|
|||||||
*/
|
*/
|
||||||
if (message->rcode != dns_rcode_noerror &&
|
if (message->rcode != dns_rcode_noerror &&
|
||||||
message->rcode != dns_rcode_nxdomain) {
|
message->rcode != dns_rcode_nxdomain) {
|
||||||
if (message->rcode == dns_rcode_formerr) {
|
if ((message->rcode == dns_rcode_formerr ||
|
||||||
if ((query->options & DNS_FETCHOPT_NOEDNS0) == 0) {
|
message->rcode == dns_rcode_notimp ||
|
||||||
/*
|
message->rcode == dns_rcode_servfail) &&
|
||||||
* It's very likely they don't like EDNS0.
|
(query->options & DNS_FETCHOPT_NOEDNS0) == 0) {
|
||||||
*
|
/*
|
||||||
* XXXRTH We should check if the question
|
* It's very likely they don't like EDNS0.
|
||||||
* we're asking requires EDNS0, and
|
*
|
||||||
* if so, we should bail out.
|
* XXXRTH We should check if the question
|
||||||
*/
|
* we're asking requires EDNS0, and
|
||||||
options |= DNS_FETCHOPT_NOEDNS0;
|
* if so, we should bail out.
|
||||||
resend = ISC_TRUE;
|
*/
|
||||||
/*
|
options |= DNS_FETCHOPT_NOEDNS0;
|
||||||
* Remember that they don't like EDNS0.
|
resend = ISC_TRUE;
|
||||||
*/
|
/*
|
||||||
dns_adb_changeflags(fctx->adb,
|
* Remember that they don't like EDNS0.
|
||||||
query->addrinfo,
|
*/
|
||||||
DNS_FETCHOPT_NOEDNS0,
|
dns_adb_changeflags(fctx->adb, query->addrinfo,
|
||||||
DNS_FETCHOPT_NOEDNS0);
|
DNS_FETCHOPT_NOEDNS0,
|
||||||
} else if (ISFORWARDER(query->addrinfo)) {
|
DNS_FETCHOPT_NOEDNS0);
|
||||||
|
} else if (message->rcode == dns_rcode_formerr) {
|
||||||
|
if (ISFORWARDER(query->addrinfo)) {
|
||||||
/*
|
/*
|
||||||
* This forwarder doesn't understand us,
|
* This forwarder doesn't understand us,
|
||||||
* but other forwarders might. Keep trying.
|
* but other forwarders might. Keep trying.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user