]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2024. [bug] named emited spurious "zone serial unchanged"
authorMark Andrews <marka@isc.org>
Thu, 18 May 2006 02:28:55 +0000 (02:28 +0000)
committerMark Andrews <marka@isc.org>
Thu, 18 May 2006 02:28:55 +0000 (02:28 +0000)
                        messages on reload. [RT #16027]

CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index 62977a13a25d44f9a95380521fb69d5fc739ad5c..936c19a014e96772b62c8aca4a3e306fdcd04d7e 100644 (file)
--- 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]
 
index 0593be26c8e8ed38965a9e2939aa2de950e8e9b5..454ce363e6ac06223b759a7c073243ad2a372d99 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.333.2.23.2.63 2006/02/28 06:32:54 marka Exp $ */
+/* $Id: zone.c,v 1.333.2.23.2.64 2006/05/18 02:28:55 marka Exp $ */
 
 #include <config.h>
 
@@ -996,7 +996,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");
@@ -1008,6 +1008,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)) {