isc_ht_t *nodes; /* entries in zone */
dns_rpz_zones_t *rpzs; /* owner */
isc_time_t lastupdated; /* last time the zone was processed */
- bool updatepending; /* there is an update pending/waiting */
- bool updaterunning; /* there is an update running */
+ bool updatepending; /* there is an update pending/waiting */
+ bool updaterunning; /* there is an update running */
dns_db_t *db; /* zones database */
dns_dbversion_t *dbversion; /* version we will be updating to */
dns_db_t *updb; /* zones database we're working on */
dns_dbversion_t *updbversion; /* version we're currently working on */
dns_dbiterator_t *updbit; /* iterator to use when updating */
isc_ht_t *newnodes; /* entries in zone being updated */
- bool db_registered; /* is the notify event registered? */
isc_timer_t *updatetimer;
isc_event_t updateevent;
};
zone->updbversion = NULL;
zone->updbit = NULL;
zone->rpzs = rpzs;
- zone->db_registered = false;
ISC_EVENT_INIT(&zone->updateevent, sizeof(zone->updateevent),
0, NULL, 0, NULL, NULL, NULL, NULL, NULL);
REQUIRE(zone != NULL);
LOCK(&zone->rpzs->maint_lock);
- REQUIRE(zone->db_registered);
/* New zone came as AXFR */
if (zone->db != NULL && zone->db != db) {
dns_db_closeversion(rpz->db, &rpz->dbversion, false);
}
if (rpz->db != NULL) {
- if (rpz->db_registered) {
- dns_db_updatenotify_unregister(
- rpz->db, dns_rpz_dbupdate_callback, rpz);
- }
+ dns_db_updatenotify_unregister(
+ rpz->db, dns_rpz_dbupdate_callback, rpz);
dns_db_detach(&rpz->db);
}
if (rpz->updaterunning) {
if (zone->rpz_num == DNS_RPZ_INVALID_NUM)
return;
REQUIRE(zone->rpzs != NULL);
- zone->rpzs->zones[zone->rpz_num]->db_registered = true;
result = dns_db_updatenotify_register(db,
dns_rpz_dbupdate_callback,
zone->rpzs->zones[zone->rpz_num]);