From: Mark Andrews Date: Fri, 14 Sep 2012 01:01:06 +0000 (+1000) Subject: 3376. [bug] Lack of EDNS support was being recorded without a X-Git-Tag: v9.10.0a1~886 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=eed495737be4846ab054654a48f3387f77cadaaa;p=thirdparty%2Fbind9.git 3376. [bug] Lack of EDNS support was being recorded without a successful response. [RT #30811] --- diff --git a/CHANGES b/CHANGES index 1275563dc83..14efda3be2a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +3376. [bug] Lack of EDNS support was being recorded without a + successful response. [RT #30811] + 3375. [bug] 'rndc dumpdb' failed on empty caches. [RT #30808] 3374. [bug] isc_parse_uint32 failed to return a range error on diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index d81de760e17..46af973a84e 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -6627,13 +6627,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) { */ options |= DNS_FETCHOPT_NOEDNS0; resend = ISC_TRUE; - /* - * Remember that they don't like EDNS0. - */ - dns_adb_changeflags(fctx->adb, - query->addrinfo, - DNS_FETCHOPT_NOEDNS0, - DNS_FETCHOPT_NOEDNS0); + add_bad_edns(fctx, &query->addrinfo->sockaddr); } else { /* * There's no hope for this query. @@ -6700,14 +6694,8 @@ resquery_response(isc_task_t *task, isc_event_t *event) { */ options |= DNS_FETCHOPT_NOEDNS0; resend = ISC_TRUE; - /* - * Remember that they don't like EDNS0. - */ - dns_adb_changeflags( - fctx->adb, - query->addrinfo, - DNS_FETCHOPT_NOEDNS0, - DNS_FETCHOPT_NOEDNS0); + add_bad_edns(fctx, + &query->addrinfo->sockaddr); inc_stats(fctx->res, dns_resstatscounter_edns0fail); } else { @@ -6731,13 +6719,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) { */ options |= DNS_FETCHOPT_NOEDNS0; resend = ISC_TRUE; - /* - * Remember that they don't like EDNS0. - */ - dns_adb_changeflags(fctx->adb, - query->addrinfo, - DNS_FETCHOPT_NOEDNS0, - DNS_FETCHOPT_NOEDNS0); + add_bad_edns(fctx, &query->addrinfo->sockaddr); inc_stats(fctx->res, dns_resstatscounter_edns0fail); } else {