mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 13:20:00 -04:00
set loadtime during initial transfer of a secondary zone
when transferring in a non-inline-signing secondary for the first time,
we previously never set the value of zone->loadtime, so it remained
zero. this caused a test failure in the statschannel system test,
and that test case was temporarily disabled. the value is now set
correctly and the test case has been reinstated.
(cherry picked from commit 9643281453)
This commit is contained in:
parent
95d75b653c
commit
6b47d98a95
2 changed files with 11 additions and 7 deletions
|
|
@ -19,7 +19,6 @@ fmt = "%Y-%m-%dT%H:%M:%SZ"
|
|||
# The constants were taken from BIND 9 source code (lib/dns/zone.c)
|
||||
max_refresh = timedelta(seconds=2419200) # 4 weeks
|
||||
max_expires = timedelta(seconds=14515200) # 24 weeks
|
||||
now = datetime.utcnow().replace(microsecond=0)
|
||||
dayzero = datetime.utcfromtimestamp(0).replace(microsecond=0)
|
||||
|
||||
|
||||
|
|
@ -34,21 +33,20 @@ def check_refresh(refresh, min_time, max_time):
|
|||
assert refresh <= max_time
|
||||
|
||||
|
||||
def check_loaded(loaded, expected): # pylint: disable=unused-argument
|
||||
def check_loaded(loaded, expected, now):
|
||||
# Sanity check the zone timers values
|
||||
# NOTE This check has been disabled due to GL #3983
|
||||
# assert loaded == expected
|
||||
# assert loaded < now
|
||||
pass
|
||||
assert loaded == expected
|
||||
assert loaded <= now
|
||||
|
||||
|
||||
def check_zone_timers(loaded, expires, refresh, loaded_exp):
|
||||
now = datetime.utcnow().replace(microsecond=0)
|
||||
# Sanity checks the zone timers values
|
||||
if expires is not None:
|
||||
check_expires(expires, now, now + max_expires)
|
||||
if refresh is not None:
|
||||
check_refresh(refresh, now, now + max_refresh)
|
||||
check_loaded(loaded, loaded_exp)
|
||||
check_loaded(loaded, loaded_exp, now)
|
||||
|
||||
|
||||
#
|
||||
|
|
|
|||
|
|
@ -17662,6 +17662,12 @@ again:
|
|||
DNS_ZONE_TIME_ADD(&now, zone->expire,
|
||||
&zone->expiretime);
|
||||
}
|
||||
|
||||
/*
|
||||
* Set loadtime.
|
||||
*/
|
||||
zone->loadtime = now;
|
||||
|
||||
if (result == ISC_R_SUCCESS && xfrresult == ISC_R_SUCCESS) {
|
||||
char buf[DNS_NAME_FORMATSIZE + sizeof(": TSIG ''")];
|
||||
if (zone->tsigkey != NULL) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue