Unload a zone if a transfer breaks its SOA record
If a zone transfer results in a zone not having any NS records, named stops serving it because such a zone is broken. Do the same if an incoming zone transfer results in a zone lacking an SOA record at the apex or containing more than one SOA record.
This commit is contained in:
committed by
Michał Kępień
parent
2ca0bd882d
commit
5318627227
+10
-3
@@ -17156,9 +17156,16 @@ again:
|
||||
if (soacount != 1) {
|
||||
dns_zone_log(zone, ISC_LOG_ERROR,
|
||||
"transferred zone "
|
||||
"has %d SOA record%s",
|
||||
soacount,
|
||||
(soacount != 0) ? "s" : "");
|
||||
"has %d SOA records",
|
||||
soacount);
|
||||
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_HAVETIMERS))
|
||||
{
|
||||
zone->refresh = DNS_ZONE_DEFAULTREFRESH;
|
||||
zone->retry = DNS_ZONE_DEFAULTRETRY;
|
||||
}
|
||||
DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_HAVETIMERS);
|
||||
zone_unload(zone);
|
||||
goto next_master;
|
||||
}
|
||||
if (nscount == 0) {
|
||||
dns_zone_log(zone, ISC_LOG_ERROR,
|
||||
|
||||
Reference in New Issue
Block a user