* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rbtdb.c,v 1.309 2011/01/13 04:59:25 tbox Exp $ */
+/* $Id: rbtdb.c,v 1.310 2011/01/13 09:53:04 marka Exp $ */
/*! \file */
if (rbtdb->rrsetstats != NULL)
dns_stats_detach(&rbtdb->rrsetstats);
+#ifdef BIND9
if (rbtdb->rpz_cidr != NULL)
dns_rpz_cidr_free(&rbtdb->rpz_cidr);
+#endif
isc_mem_put(rbtdb->common.mctx, rbtdb->node_locks,
rbtdb->node_lock_count * sizeof(rbtdb_nodelock_t));
switch (node->nsec) {
case DNS_RBT_NSEC_NORMAL:
+#ifdef BIND9
if (rbtdb->rpz_cidr != NULL) {
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
dns_rbt_fullnamefromnode(node, name);
dns_rpz_cidr_deleteip(rbtdb->rpz_cidr, name);
}
+#endif
result = dns_rbt_deletenode(rbtdb->tree, node, ISC_FALSE);
break;
case DNS_RBT_NSEC_HAS_NSEC:
}
}
result = dns_rbt_deletenode(rbtdb->tree, node, ISC_FALSE);
+#ifdef BIND9
dns_rpz_cidr_deleteip(rbtdb->rpz_cidr, name);
+#endif
break;
case DNS_RBT_NSEC_NSEC:
result = dns_rbt_deletenode(rbtdb->nsec, node, ISC_FALSE);
node = NULL;
result = dns_rbt_addnode(rbtdb->tree, name, &node);
if (result == ISC_R_SUCCESS) {
+#ifdef BIND9
if (rbtdb->rpz_cidr != NULL) {
dns_fixedname_t fnamef;
dns_name_t *fname;
dns_rbt_fullnamefromnode(node, fname);
dns_rpz_cidr_addip(rbtdb->rpz_cidr, fname);
}
+#endif
dns_rbt_namefromnode(node, &nodename);
#ifdef DNS_RBT_USEHASH
node->locknum = node->hashval % rbtdb->node_lock_count;
/*
* Mark a database for response policy rewriting.
*/
+#ifdef BIND9
static void
get_rpz_enabled(dns_db_t *db, dns_rpz_st_t *st)
{
RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_read);
return (ISC_R_SUCCESS);
}
+#endif
static isc_result_t
cache_find(dns_db_t *db, dns_name_t *name, dns_dbversion_t *version,
noderesult = dns_rbt_addnode(rbtdb->tree, name, nodep);
+#ifdef BIND9
if (noderesult == ISC_R_SUCCESS)
dns_rpz_cidr_addip(rbtdb->rpz_cidr, name);
+#endif
if (!hasnsec)
return (noderesult);
resigned,
isdnssec,
NULL,
+#ifdef BIND9
get_rpz_enabled,
rpz_findips
+#else
+ NULL,
+ NULL
+#endif
};
static dns_dbmethods_t cache_methods = {
return (result);
}
+#ifdef BIND9
/*
* Get ready for response policy IP address searching if at least one
* zone has been configured as a response policy zone and this
return (result);
}
}
+#endif
/*
* In order to set the node callback bit correctly in zone databases,
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: view.c,v 1.177 2011/01/13 01:59:28 marka Exp $ */
+/* $Id: view.c,v 1.178 2011/01/13 09:53:04 marka Exp $ */
/*! \file */
dns_acache_putdb(view->acache, view->cachedb);
dns_acache_detach(&view->acache);
}
-#endif
dns_rpz_view_destroy(view);
+#else
+ INSIST(view->acache == NULL);
+ INSIST(ISC_LIST_EMPTY(view->rpz_zones));
+#endif
if (view->requestmgr != NULL)
dns_requestmgr_detach(&view->requestmgr);
if (view->task != NULL)