]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
1766. [bug] Update the master file timestamp on successful refresh
authorMark Andrews <marka@isc.org>
Mon, 22 Nov 2004 23:52:25 +0000 (23:52 +0000)
committerMark Andrews <marka@isc.org>
Mon, 22 Nov 2004 23:52:25 +0000 (23:52 +0000)
                        as well as the journal's timestamp. [RT# 13062]

CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index 5729812482b7d7ec90874e92c709b859707b31f4..7a4240a3d21dd4031654079f2510f6558df09f97 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -14,7 +14,8 @@
 1767.  [port]          Builds on IPv6 platforms without IPv6 Advanced API
                        support for (struct in6_pktinfo) failed.  [RT #13077]
 
-1766.  [placeholder]   rt13062
+1766.  [bug]           Update the master file timestamp on successful refresh
+                       as well as the journal's timestamp. [RT# 13062]
 
 1765.  [bug]           configure --with-openssl=auto failed. [RT #12937]
 
index b71912268c5dfc7ecd34b35ca629acbfd65b57de..7c4e59f7ab2b6636cd7a86db0c2d3729d63581b1 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.423 2004/11/09 22:16:57 marka Exp $ */
+/* $Id: zone.c,v 1.424 2004/11/22 23:52:25 marka Exp $ */
 
 #include <config.h>
 
@@ -3644,7 +3644,12 @@ refresh_callback(isc_task_t *task, isc_event_t *event) {
                        result = ISC_R_FAILURE;
                        if (zone->journal != NULL)
                                result = isc_file_settime(zone->journal, &now);
-                       if (result != ISC_R_SUCCESS)
+                       if (result == ISC_R_SUCCESS &&
+                           !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDDUMP) &&
+                           !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DUMPING)) {
+                               result = isc_file_settime(zone->masterfile,
+                                                         &now);
+                       } else if (result != ISC_R_SUCCESS)
                                result = isc_file_settime(zone->masterfile,
                                                          &now);
                        /* Someone removed the file from underneath us! */