mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-09 07:32:09 -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.
This commit is contained in:
parent
f17b94fb72
commit
9643281453
2 changed files with 10 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)
|
||||
|
||||
|
||||
#
|
||||
|
|
|
|||
|
|
@ -17268,6 +17268,11 @@ again:
|
|||
zone->expiretime = 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