}
static knot_time_t schedule_next(kdnssec_ctx_t *kctx, const zone_keyset_t *keyset,
- knot_time_t zone_expire)
+ knot_time_t keys_expire, knot_time_t rrsigs_expire)
{
- knot_time_t zone_refresh = knot_time_add(zone_expire, -(knot_timediff_t)kctx->policy->rrsig_refresh_before);
+ knot_time_t rrsigs_refresh = knot_time_add(rrsigs_expire, -(knot_timediff_t)kctx->policy->rrsig_refresh_before);
+ knot_time_t zone_refresh = knot_time_min(keys_expire, rrsigs_refresh);
knot_time_t dnskey_update = knot_get_next_zone_key_event(keyset);
knot_time_t next = knot_time_min(zone_refresh, dnskey_update);
done:
if (result == KNOT_EOK) {
- reschedule->next_sign = schedule_next(&ctx, &keyset, knot_time_min(zone_expire, next_resign));
+ reschedule->next_sign = schedule_next(&ctx, &keyset, next_resign, zone_expire);
}
free_zone_keys(&keyset);
done:
if (result == KNOT_EOK) {
- reschedule->next_sign = schedule_next(&ctx, &keyset, expire_at);
+ reschedule->next_sign = schedule_next(&ctx, &keyset, 0, expire_at);
}
free_zone_keys(&keyset);