ret = dst_key_getbool(key->key, DST_BOOL_ZSK, &zsk);
if (ret == ISC_R_SUCCESS && zsk) {
+ dns_ttl_t ttlsig = dns_kasp_zonemaxttl(kasp, true);
/* ZSK: Iret = Dsgn + Dprp + TTLsig */
- zsk_remove = retire + dns_kasp_zonemaxttl(kasp) +
- dns_kasp_zonepropagationdelay(kasp) +
- dns_kasp_retiresafety(kasp) +
- dns_kasp_signdelay(kasp);
+ zsk_remove =
+ retire + ttlsig + dns_kasp_zonepropagationdelay(kasp) +
+ dns_kasp_retiresafety(kasp) + dns_kasp_signdelay(kasp);
}
ret = dst_key_getbool(key->key, DST_BOOL_KSK, &ksk);
if (ret == ISC_R_SUCCESS && ksk) {
if (first) {
/* Also need to wait until the signatures are omnipresent. */
isc_stdtime_t zrrsig_present;
- zrrsig_present = published + dns_kasp_zonemaxttl(kasp) +
+ dns_ttl_t ttlsig = dns_kasp_zonemaxttl(kasp, true);
+ zrrsig_present = published + ttlsig +
dns_kasp_zonepropagationdelay(kasp) +
dns_kasp_publishsafety(kasp);
if (zrrsig_present > syncpublish) {
* No predecessor, wait for zone to be
* completely signed.
*/
- syncpub2 = pub + dns_kasp_zonemaxttl(kasp) +
+ dns_ttl_t ttlsig = dns_kasp_zonemaxttl(kasp,
+ true);
+ syncpub2 = pub + ttlsig +
dns_kasp_publishsafety(kasp) +
dns_kasp_zonepropagationdelay(kasp);
}
isc_stdtime_t now, isc_stdtime_t *when) {
isc_result_t ret;
isc_stdtime_t lastchange, dstime, nexttime = now;
+ dns_ttl_t ttlsig = dns_kasp_zonemaxttl(kasp, true);
/*
* No need to wait if we move things into an uncertain state.
*
* We will also add the retire-safety interval.
*/
- nexttime = lastchange + dns_kasp_zonemaxttl(kasp) +
+ nexttime = lastchange + ttlsig +
dns_kasp_zonepropagationdelay(kasp) +
dns_kasp_retiresafety(kasp);
/*
/* Get time metadata. */
ret = dst_key_gettime(key->key, DST_TIME_ACTIVATE, &active);
if (active <= now && ret == ISC_R_SUCCESS) {
- dns_ttl_t zone_ttl = dns_kasp_zonemaxttl(kasp);
- zone_ttl += dns_kasp_zonepropagationdelay(kasp);
- if ((active + zone_ttl) <= now) {
+ dns_ttl_t ttlsig = dns_kasp_zonemaxttl(kasp, true);
+ ttlsig += dns_kasp_zonepropagationdelay(kasp);
+ if ((active + ttlsig) <= now) {
zrrsig_state = OMNIPRESENT;
} else {
zrrsig_state = RUMOURED;
}
ret = dst_key_gettime(key->key, DST_TIME_INACTIVE, &retire);
if (retire <= now && ret == ISC_R_SUCCESS) {
- dns_ttl_t zone_ttl = dns_kasp_zonemaxttl(kasp);
- zone_ttl += dns_kasp_zonepropagationdelay(kasp);
- if ((retire + zone_ttl) <= now) {
+ dns_ttl_t ttlsig = dns_kasp_zonemaxttl(kasp, true);
+ ttlsig += dns_kasp_zonepropagationdelay(kasp);
+ if ((retire + ttlsig) <= now) {
zrrsig_state = HIDDEN;
} else {
zrrsig_state = UNRETENTIVE;