]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
pullup
authorMark Andrews <marka@isc.org>
Thu, 21 Sep 2000 10:10:05 +0000 (10:10 +0000)
committerMark Andrews <marka@isc.org>
Thu, 21 Sep 2000 10:10:05 +0000 (10:10 +0000)
 479.   [func]          The test suite can now be run by typing "make check"
                        or "make test" at the top level.

CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index 4b487f748836e305ec45a802d34987699ed1978a..3690fafb5dd5185d6bac40dc96d2d1dc49517988 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+ 476.  [bug]           A zone could expire while a zone transfer was in
+                       progress triggering a INSIST failure. [RT #329]
+
  475.  [bug]           query_getzonedb() sometimes returned a non-null version
                        on failure.  This caused assertion failures when
                        generating query responses where names subject to
index 02d654d2513a8d3995620f041ddba9327bd6948d..a3bd6c522e476623e6e799e6a908a33f92af42b6 100644 (file)
@@ -15,7 +15,7 @@
  * SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.152.2.12 2000/09/14 20:45:16 gson Exp $ */
+/* $Id: zone.c,v 1.152.2.13 2000/09/21 10:10:05 marka Exp $ */
 
 #include <config.h>
 
@@ -3718,6 +3718,11 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) {
                zone->flags |= DNS_ZONEFLG_NEEDNOTIFY;
                /*FALLTHROUGH*/
        case DNS_R_UPTODATE:
+               /*
+                * Has the zone expired underneath us?
+                */
+               if (zone->db == NULL)
+                       goto same_master;
                /*
                 * This is not neccessary if we just performed a AXFR
                 * however it is necessary for an IXFR / UPTODATE and
@@ -3779,6 +3784,7 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) {
 
        default:
                zone->curmaster++;
+       same_master:
                if (zone->curmaster >= zone->masterscnt)
                        zone->curmaster = 0;
                else {