From: Mark Andrews Date: Thu, 18 May 2006 02:30:20 +0000 (+0000) Subject: 2024. [bug] named emited spurious "zone serial unchanged" X-Git-Tag: v9.2.7b1~22 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=6227cb415da553a7490dd6289622f52b0b0ccbe9;p=thirdparty%2Fbind9.git 2024. [bug] named emited spurious "zone serial unchanged" messages on reload. [RT #16027] --- diff --git a/CHANGES b/CHANGES index 2e481c609da..813e552cceb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2024. [bug] named emited spurious "zone serial unchanged" + messages on reload. [RT #16027] + 2023. [bug] "make install" should create ${localstatedir}/run and ${sysconfdir} if they do not exist. [RT #16033] diff --git a/lib/dns/zone.c b/lib/dns/zone.c index ce09bbcbcac..cee46e1525a 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: zone.c,v 1.333.2.43 2006/03/01 01:34:05 marka Exp $ */ +/* $Id: zone.c,v 1.333.2.44 2006/05/18 02:30:20 marka Exp $ */ #include @@ -945,7 +945,7 @@ zone_load(dns_zone_t *zone, unsigned int flags) { result = isc_file_getmodtime(zone->masterfile, &filetime); if (result == ISC_R_SUCCESS && - isc_time_compare(&filetime, &zone->loadtime) < 0) { + isc_time_compare(&filetime, &zone->loadtime) <= 0) { dns_zone_log(zone, ISC_LOG_DEBUG(1), "skipping load: master file older " "than last load"); @@ -957,6 +957,16 @@ zone_load(dns_zone_t *zone, unsigned int flags) { INSIST(zone->db_argc >= 1); + /* + * Built in zones don't need to be reloaded. + */ + if (zone->type == dns_zone_master && + strcmp(zone->db_argv[0], "_builtin") == 0 && + DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) { + result = ISC_R_SUCCESS; + goto cleanup; + } + if ((zone->type == dns_zone_slave || zone->type == dns_zone_stub) && (strcmp(zone->db_argv[0], "rbt") == 0 || strcmp(zone->db_argv[0], "rbt64") == 0)) {