]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Don't forward UPDATE messages over disabled address families
authorMark Andrews <marka@isc.org>
Thu, 30 Nov 2023 05:31:33 +0000 (16:31 +1100)
committerMark Andrews <marka@isc.org>
Mon, 3 Jun 2024 08:34:31 +0000 (18:34 +1000)
lib/dns/zone.c

index 901c52d6178184c565410646a15f9f7e256df4ec..6dc10045b930b4ad191aadf8a85610a434d6cc9f 100644 (file)
@@ -18359,12 +18359,19 @@ sendtoprimary(dns_forward_t *forward) {
                return (ISC_R_CANCELED);
        }
 
+next:
        if (forward->which >= dns_remote_count(&forward->zone->primaries)) {
                UNLOCK_ZONE(zone);
                return (ISC_R_NOMORE);
        }
 
        forward->addr = dns_remote_addr(&zone->primaries, forward->which);
+
+       if (isc_sockaddr_disabled(&forward->addr)) {
+               forward->which++;
+               goto next;
+       }
+
        /*
         * Always use TCP regardless of whether the original update
         * used TCP.