]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3959. [bug] Updates could be lost if they arrived immediately
authorMark Andrews <marka@isc.org>
Tue, 30 Sep 2014 20:59:19 +0000 (06:59 +1000)
committerMark Andrews <marka@isc.org>
Tue, 30 Sep 2014 20:59:19 +0000 (06:59 +1000)
                        after a rndc thaw. [RT #37233]

CHANGES
lib/dns/zt.c

diff --git a/CHANGES b/CHANGES
index 3eb045a7ce3d6511b409156ebbb78c49f2d3d045..58d1190684496a67d34b7263335e07e342827d2a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3959.  [bug]           Updates could be lost if they arrived immediately
+                       after a rndc thaw. [RT #37233]
+
 3958.  [bug]           Detect when writeable files have multiple references
                        in named.conf. [RT #37172]
 
index f2f3af2f2501604dae4f6c448a3487ac1dffcc1f..985e67a45728ecd05fa68f4bcba1f34ca3b80e0c 100644 (file)
@@ -395,16 +395,16 @@ freezezones(dns_zone_t *zone, void *uap) {
                        result = DNS_R_FROZEN;
                if (result == ISC_R_SUCCESS)
                        result = dns_zone_flush(zone);
+               if (result == ISC_R_SUCCESS)
+                       dns_zone_setupdatedisabled(zone, freeze);
        } else {
                if (frozen) {
-                       result = dns_zone_load(zone);
+                       result = dns_zone_loadandthaw(zone);
                        if (result == DNS_R_CONTINUE ||
                            result == DNS_R_UPTODATE)
                                result = ISC_R_SUCCESS;
                }
        }
-       if (result == ISC_R_SUCCESS)
-               dns_zone_setupdatedisabled(zone, freeze);
        view = dns_zone_getview(zone);
        if (strcmp(view->name, "_bind") == 0 ||
            strcmp(view->name, "_default") == 0)