]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2025. [func] Update "zone serial unchanged" message. [RT #16026]
authorMark Andrews <marka@isc.org>
Thu, 18 May 2006 02:38:27 +0000 (02:38 +0000)
committerMark Andrews <marka@isc.org>
Thu, 18 May 2006 02:38:27 +0000 (02:38 +0000)
CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index 304e6f59b685f179d9ce43cd84318cb8242a630c..db7e253db7855063352fa68f2935b26806f1795a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+2025.  [func]          Update "zone serial unchanged" message. [RT #16026]
+
+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 647ab93bd05b06aa18bcef5cc33d7f592130fce5..0d72b17dfb8977e08ae8d025bde4d5519a45ba8d 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.410.18.43 2006/02/28 03:10:48 marka Exp $ */
+/* $Id: zone.c,v 1.410.18.44 2006/05/18 02:38:27 marka Exp $ */
 
 /*! \file */
 
@@ -1138,7 +1138,7 @@ zone_load(dns_zone_t *zone, unsigned int flags) {
                result = isc_file_getmodtime(zone->masterfile, &filetime);
                if (result == ISC_R_SUCCESS) {
                        if (!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_HASINCLUDE) &&
-                           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");
@@ -1151,6 +1151,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)) {
@@ -1954,7 +1964,9 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime,
                                             "zone serial has gone backwards");
                        else if (serial == zone->serial && !hasinclude) 
                                dns_zone_log(zone, ISC_LOG_ERROR,
-                                            "zone serial unchanged");
+                                            "zone serial unchanged. "
+                                            "zone may fail to transfer "
+                                            "to slaves.");
                }
                zone->serial = serial;
                zone->refresh = RANGE(refresh,