dns_diff_t work;
dst_key_t *zone_keys[DNS_MAXZONEKEYS];
unsigned int nkeys;
- isc_stdtime_t inception, expire;
+ isc_stdtime_t inception, expire, soaexpire;
dns_ttl_t nsecttl;
bool check_ksk, keyset_kskonly, build_nsec3;
enum { sign_updates, remove_orphaned, build_chain, process_nsec,
isc_stdtime_get(&now);
state->inception = now - 3600; /* Allow for some clock skew. */
- state->expire = now + dns__jitter_expire(zone, sigvalidityinterval);
+ state->expire = now +
+ dns__jitter_expire(zone, sigvalidityinterval);
+ state->soaexpire = now + sigvalidityinterval;
/*
* Do we look at the KSK flag on the DNSKEY to determining which
CHECK(rrset_visible(db, newver, name, type,
&flag));
if (flag) {
+ isc_stdtime_t exp;
+
+ if (type == dns_rdatatype_soa) {
+ exp = state->soaexpire;
+ } else {
+ exp = state->expire;
+ }
CHECK(add_sigs(log, zone, db, newver,
name, type,
&state->sig_diff,
state->zone_keys,
state->nkeys,
- state->inception,
- state->expire,
+ state->inception, exp,
state->check_ksk,
state->keyset_kskonly));
sigs++;