Commit 6b202a6efe for bind
commit 6b202a6efee28224414e5c1254cd49a852cc36fa
Author: Aram Sargsyan <aram@isc.org>
Date: Fri Oct 23 15:46:12 2026 +0000
Try the next server instead of aborting the zone transfer
When the zone transfer results in DNS_R_TOOMANYRECORDS or
DNS_R_VERIFYFAILURE errors, proceed with retrying the transfer
with the remaining primary servers instead of aborting the transfer,
otherwise a single misbehaving primary can cause a zone to be
stuck on an old version and to potentially expire.
diff --git a/lib/dns/zone.c b/lib/dns/zone.c
index 6569493951..75b94de265 100644
--- a/lib/dns/zone.c
+++ b/lib/dns/zone.c
@@ -15779,12 +15779,6 @@ again:
DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NOIXFR);
goto same_primary;
- case DNS_R_TOOMANYRECORDS:
- case DNS_R_VERIFYFAILURE:
- DNS_ZONE_JITTER_ADD(&now, zone->refresh, &zone->refreshtime);
- dns__zone_stats_increment(zone, dns_zonestatscounter_xfrfail);
- break;
-
case ISC_R_SHUTTINGDOWN:
dns_remote_reset(&zone->primaries, true);
break;