]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] fixed bogus server regression
authorEvan Hunt <each@isc.org>
Mon, 4 Jan 2016 23:47:16 +0000 (15:47 -0800)
committerEvan Hunt <each@isc.org>
Mon, 4 Jan 2016 23:47:16 +0000 (15:47 -0800)
4288. [bug] Fixed a regression in resolver.c:possibly_mark()
which caused known-bogus servers to be queried
anyway. [RT #41321]

CHANGES
doc/arm/notes.xml
lib/dns/resolver.c

diff --git a/CHANGES b/CHANGES
index 3e9f88ea643824e423e8a77a7f919ea038a69202..1cf1596d549f0eead1d3441cc3dd5c1759234c44 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+4288.  [bug]           Fixed a regression in resolver.c:possibly_mark()
+                       which caused known-bogus servers to be queried
+                       anyway. [RT #41321]
+
 4287.  [bug]           Silence an overly noisy log message when message
                        parsing fails. [RT #41374]
 
index 768f7c422e21c3f2c46471e71518d484aa6eb988..27756557c9d4265adcba4a746854e70f9116c1aa 100644 (file)
   </section>
   <section xml:id="relnotes_bugs"><info><title>Bug Fixes</title></info>
     <itemizedlist>
+      <listitem>
+       <para>
+         Authoritative servers that were marked as bogus (e.g. blackholed
+         in configuration or with invalid addresses) were being queried
+         anyway. [RT #41321]
+       </para>
+      </listitem>
       <listitem>
        <para>
          Some of the options for GeoIP ACLs, including "areacode",
index a331d38053e69d2cdfb4e5b8a0a3bd8817f93f9f..3e5d5a24aacf3f2cfdcb8e9cb2df8e3590bd2453 100644 (file)
@@ -3477,9 +3477,6 @@ possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr) {
            bogus)
                aborted = ISC_TRUE;
 
-       if (!isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(3)))
-               return;
-
        if (aborted) {
                addr->flags |= FCTX_ADDRINFO_MARK;
                msg = "ignoring blackholed / bogus server: ";
@@ -3503,9 +3500,11 @@ possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr) {
        } else
                return;
 
-       isc_netaddr_fromsockaddr(&na, sa);
-       isc_netaddr_format(&na, buf, sizeof(buf));
-       FCTXTRACE2(msg, buf);
+       if (isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(3))) {
+               isc_netaddr_fromsockaddr(&na, sa);
+               isc_netaddr_format(&na, buf, sizeof(buf));
+               FCTXTRACE2(msg, buf);
+       }
 }
 
 static inline dns_adbaddrinfo_t *