diff --git a/bin/tests/system/dnssec/tests.sh b/bin/tests/system/dnssec/tests.sh index 311bc1150f..d537620253 100644 --- a/bin/tests/system/dnssec/tests.sh +++ b/bin/tests/system/dnssec/tests.sh @@ -2327,6 +2327,7 @@ if test $ret != 0 ; then echo "I:failed"; fi status=`expr $status + $ret` echo "I:check that increasing the sig-validity-interval resigning triggers re-signing" +ret=0 before=`$DIG axfr siginterval.example -p 5300 @10.53.0.3 | grep RRSIG.SOA` cp ns3/siginterval2.conf ns3/siginterval.conf $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reconfig 2>&1 | sed 's/^/I:ns3 /' @@ -2337,7 +2338,7 @@ test "$before" != "$after" && break sleep 1 done n=`expr $n + 1` -if test "$before" = "$after" ; then echo "I:failed"; fi +if test "$before" = "$after" ; then echo "I:failed"; ret=1; fi status=`expr $status + $ret` echo "I:exit status: $status" diff --git a/lib/dns/zone.c b/lib/dns/zone.c index bc33cacfc9..220b8daace 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -14079,11 +14079,17 @@ dns_zone_getsigvalidityinterval(dns_zone_t *zone) { void dns_zone_setsigresigninginterval(dns_zone_t *zone, isc_uint32_t interval) { + isc_time_t now; + REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); zone->sigresigninginterval = interval; set_resigntime(zone); + if (zone->task != NULL) { + TIME_NOW(&now); + zone_settimer(zone, &now); + } UNLOCK_ZONE(zone); }