diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 901c52d617..6dc10045b9 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -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.