From: Mark Andrews Date: Thu, 21 Sep 2000 10:10:05 +0000 (+0000) Subject: pullup X-Git-Tag: v9.0.0^2~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a97d54d942698462d4b4c9cc835ef364c7728efc;p=thirdparty%2Fbind9.git pullup 479. [func] The test suite can now be run by typing "make check" or "make test" at the top level. --- diff --git a/CHANGES b/CHANGES index 4b487f74883..3690fafb5dd 100644 --- 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 diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 02d654d2513..a3bd6c522e4 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -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 @@ -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 {