]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
1686. [bug] Named sent a extraneous NOTIFY when it received a
authorMark Andrews <marka@isc.org>
Tue, 20 Jul 2004 07:39:31 +0000 (07:39 +0000)
committerMark Andrews <marka@isc.org>
Tue, 20 Jul 2004 07:39:31 +0000 (07:39 +0000)
                        redundant UPDATE request. [RT #11943]

CHANGES
bin/named/update.c

diff --git a/CHANGES b/CHANGES
index 24aa467ba4927d3dc70a6d0378464af55f3fe264..6272be0c7a600a869923a8921ef5ce1112a35dbf 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,8 @@
 1688.  [bug]           LDFLAGS was not supported.
 
+1686.  [bug]           Named sent a extraneous NOTIFY when it received a
+                       redundant UPDATE request. [RT #11943]
+
 1685.  [bug]           Change #1679 loop tests weren't quite right.
 
 1684.  [placeholder]   rt10704
index b4051ecda8552f724b393783d2a068b3064fa1eb..339cbfa1c1c402abb68e3e9dfdd663d0cd7e27f3 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: update.c,v 1.114 2004/06/20 23:57:13 marka Exp $ */
+/* $Id: update.c,v 1.115 2004/07/20 07:39:31 marka Exp $ */
 
 #include <config.h>
 
@@ -2633,26 +2633,29 @@ update_action(isc_task_t *task, isc_event_t *event) {
 
                        dns_journal_destroy(&journal);
                }
-       }
 
-       /*
-        * XXXRTH  Just a note that this committing code will have to change
-        *         to handle databases that need two-phase commit, but this
-        *         isn't a priority.
-        */
-       update_log(client, zone, LOGLEVEL_DEBUG,
-                  "committing update transaction");
-       dns_db_closeversion(db, &ver, ISC_TRUE);
+               /*
+                * XXXRTH  Just a note that this committing code will have
+                *         to change to handle databases that need two-phase
+                *         commit, but this isn't a priority.
+                */
+               update_log(client, zone, LOGLEVEL_DEBUG,
+                          "committing update transaction");
+               dns_db_closeversion(db, &ver, ISC_TRUE);
 
-       /*
-        * Mark the zone as dirty so that it will be written to disk.
-        */
-       dns_zone_markdirty(zone);
+               /*
+                * Mark the zone as dirty so that it will be written to disk.
+                */
+               dns_zone_markdirty(zone);
 
-       /*
-        * Notify slaves of the change we just made.
-        */
-       dns_zone_notify(zone);
+               /*
+                * Notify slaves of the change we just made.
+                */
+               dns_zone_notify(zone);
+       } else {
+               update_log(client, zone, LOGLEVEL_DEBUG, "redundant request");
+               dns_db_closeversion(db, &ver, ISC_TRUE);
+       }
        result = ISC_R_SUCCESS;
        goto common;