mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 15:45:25 +00:00
increase jitter to cover the entire potential steady state expire range when initially signing the zone
This commit is contained in:
@@ -8419,7 +8419,7 @@ zone_sign(dns_zone_t *zone) {
|
|||||||
bool first;
|
bool first;
|
||||||
isc_result_t result;
|
isc_result_t result;
|
||||||
isc_stdtime_t now, inception, soaexpire, expire;
|
isc_stdtime_t now, inception, soaexpire, expire;
|
||||||
uint32_t jitter, sigvalidityinterval;
|
uint32_t jitter, sigvalidityinterval, expiryinterval;
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
unsigned int nkeys = 0;
|
unsigned int nkeys = 0;
|
||||||
uint32_t nodes;
|
uint32_t nodes;
|
||||||
@@ -8473,6 +8473,12 @@ zone_sign(dns_zone_t *zone) {
|
|||||||
sigvalidityinterval = dns_zone_getsigvalidityinterval(zone);
|
sigvalidityinterval = dns_zone_getsigvalidityinterval(zone);
|
||||||
inception = now - 3600; /* Allow for clock skew. */
|
inception = now - 3600; /* Allow for clock skew. */
|
||||||
soaexpire = now + sigvalidityinterval;
|
soaexpire = now + sigvalidityinterval;
|
||||||
|
expiryinterval = dns_zone_getsigresigninginterval(zone);
|
||||||
|
if (expiryinterval > sigvalidityinterval) {
|
||||||
|
expiryinterval = sigvalidityinterval;
|
||||||
|
} else {
|
||||||
|
expiryinterval = sigvalidityinterval - expiryinterval;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Spread out signatures over time if they happen to be
|
* Spread out signatures over time if they happen to be
|
||||||
@@ -8481,7 +8487,7 @@ zone_sign(dns_zone_t *zone) {
|
|||||||
*/
|
*/
|
||||||
if (sigvalidityinterval >= 3600U) {
|
if (sigvalidityinterval >= 3600U) {
|
||||||
if (sigvalidityinterval > 7200U) {
|
if (sigvalidityinterval > 7200U) {
|
||||||
jitter = isc_random_uniform(3600);
|
jitter = isc_random_uniform(expiryinterval);
|
||||||
} else {
|
} else {
|
||||||
jitter = isc_random_uniform(1200);
|
jitter = isc_random_uniform(1200);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user