476. [bug] A zone could expire while a zone transfer was in

progress triggering a INSIST failure. [RT #329]
This commit is contained in:
Mark Andrews
2000-09-20 09:50:34 +00:00
parent fafd1d7719
commit 0e07026a21
2 changed files with 9 additions and 1 deletions

View File

@@ -1,3 +1,5 @@
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

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zone.c,v 1.214 2000/09/14 03:55:38 marka Exp $ */
/* $Id: zone.c,v 1.215 2000/09/20 09:50:34 marka Exp $ */
#include <config.h>
@@ -4160,6 +4160,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
@@ -4240,6 +4245,7 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) {
#endif /* NOMINUM_PUBLIC */
default:
zone->curmaster++;
same_master:
if (zone->curmaster >= zone->masterscnt)
zone->curmaster = 0;
else {