]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
If kasp is not used, use legacy signature jitter
authorMatthijs Mekking <matthijs@isc.org>
Thu, 18 Apr 2024 14:02:48 +0000 (16:02 +0200)
committerMatthijs Mekking <matthijs@isc.org>
Thu, 18 Apr 2024 15:00:07 +0000 (15:00 +0000)
If the zone is signed with a different way than 'dnssec-policy', use
the legacy way of jittering signatures, that is calculate jitter by
taking the two values of 'sig-validity-interval' and subtracting the
second value from the first value.

lib/dns/update.c
lib/dns/zone.c

index f062e8aff6cd243fe1b2df74aa78543d5de4bdef..b4d2a1258e15ce0b634f6ad4d14ee3daae8991f8 100644 (file)
@@ -1502,6 +1502,13 @@ dns__jitter_expire(dns_zone_t *zone) {
                jitter = dns_kasp_sigjitter(kasp);
                sigvalidity = dns_kasp_sigvalidity(kasp);
                INSIST(jitter <= sigvalidity);
+       } else {
+               jitter = dns_zone_getsigresigninginterval(zone);
+               if (jitter > sigvalidity) {
+                       jitter = sigvalidity;
+               } else {
+                       jitter = sigvalidity - jitter;
+               }
        }
 
        if (jitter > sigvalidity) {
index 4cbb3d316ab261f9defee882fa379c8c1756379b..2bf1a50bb8505ab98ac318d2278f0014a03bbdeb 100644 (file)
@@ -7200,6 +7200,13 @@ calculate_rrsig_validity(dns_zone_t *zone, isc_stdtime_t now,
                jitter = dns_kasp_sigjitter(zone->kasp);
                sigvalidity = dns_kasp_sigvalidity(zone->kasp);
                INSIST(jitter <= sigvalidity);
+       } else {
+               jitter = dns_zone_getsigresigninginterval(zone);
+               if (jitter > sigvalidity) {
+                       jitter = sigvalidity;
+               } else {
+                       jitter = sigvalidity - jitter;
+               }
        }
 
        if (jitter > sigvalidity) {