]> 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:15:20 +0000 (02:15 +0000)
committerMark Andrews <marka@isc.org>
Thu, 18 May 2006 02:15:20 +0000 (02:15 +0000)
                        messages on reload. [RT #16027]

CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index 941b946db36a0be627faa485d1249acf312700ca..cbf4bfd7e319a8ae07d41c00b3da412b9eee3fb4 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+2024.  [bug]           named emited spurious "zone serial unchanged"
+                       messages on reload. [RT #16027]
 
        --- 9.3.2 released ---
 
index a993877e91ae9fe096154064ff2b0485236dfe30..9f96beb805c297a1b2b4396357bbc03bde879e65 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.333.2.23.2.59 2005/07/29 00:38:33 marka Exp $ */
+/* $Id: zone.c,v 1.333.2.23.2.59.4.1 2006/05/18 02:15:20 marka Exp $ */
 
 #include <config.h>
 
@@ -998,7 +998,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");
@@ -1010,6 +1010,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)) {