Be more precise with the stopping conditions in zone_resigninc

If there happens to be a RRSIG(SOA) that is not at the zone apex
for any reason it should not be considered as a stopping condition
for incremental zone signing.
This commit is contained in:
Mark Andrews 2021-04-08 10:49:28 +10:00 committed by Michał Kępień
parent a64dd511f4
commit b7cdc3583e

View file

@ -7089,8 +7089,10 @@ zone_resigninc(dns_zone_t *zone) {
* recent signature.
*/
/* XXXMPA increase number of RRsets signed pre call */
if (covers == dns_rdatatype_soa || i++ > zone->signatures ||
resign > stop) {
if ((covers == dns_rdatatype_soa &&
dns_name_equal(name, &zone->origin)) ||
i++ > zone->signatures || resign > stop)
{
break;
}