+ 456. [bug] Stub zones were not resetting the refresh and expire
+ counters, loadtime or clearing the DNS_ZONE_REFRESH
+ (refresh in progress) flag upon successful update.
+ This disabled further refreshing of the stub zone,
+ causing it to eventually expire. [RT #300]
+
--- 9.0.0rc6 released ---
453. [bug] Warn if the obsolete option "maintain-ixfr-base"
* SOFTWARE.
*/
-/* $Id: zone.c,v 1.152.2.11 2000/09/11 19:27:49 explorer Exp $ */
+/* $Id: zone.c,v 1.152.2.12 2000/09/14 20:45:16 gson Exp $ */
#include <config.h>
UNLOCK(&zone->lock);
dns_db_detach(&stub->db);
- if (zone->dbname != NULL)
+ if (zone->dbname != NULL) {
dns_zone_dump(zone);
+ (void)isc_time_now(&zone->loadtime);
+ }
dns_message_destroy(&msg);
isc_event_free(&event);
dns_request_destroy(&zone->request);
+ LOCK(&zone->lock);
+ zone->flags &= ~DNS_ZONEFLG_REFRESH;
+ zone->refreshtime = now + zone->refresh;
+ zone->expiretime = now + zone->expire;
+ zone_log(zone, me, ISC_LOG_DEBUG(20),
+ "refresh time (%u/%u), now %u",
+ zone->refreshtime, zone->refresh, now);
+ zone_settimer(zone, now);
+ UNLOCK(&zone->lock);
goto free_stub;
next_master: