[v9_10] rpz_ver check was ineffective
This commit is contained in:
+9
-2
@@ -6329,8 +6329,15 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
|
||||
* Has response policy changed out from under us?
|
||||
*/
|
||||
if (rpz_st->rpz_ver != client->view->rpzs->rpz_ver) {
|
||||
CTRACE(ISC_LOG_ERROR,
|
||||
"query_find: RPZ settings out of date");
|
||||
#ifdef WANT_QUERYTRACE
|
||||
char txt[80];
|
||||
sprintf(txt,
|
||||
"query_find: RPZ settings out of date "
|
||||
"(rpz_ver %d, expected %d)",
|
||||
client->view->rpzs->rpz_ver,
|
||||
rpz_st->rpz_ver);
|
||||
CTRACE(ISC_LOG_ERROR, txt);
|
||||
#endif
|
||||
QUERY_ERROR(DNS_R_SERVFAIL);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1895,7 +1895,8 @@ configure_rpz(dns_view_t *view, const cfg_obj_t *rpz_obj,
|
||||
dns_rpz_detach_rpzs(&view->rpzs);
|
||||
dns_rpz_attach_rpzs(pview->rpzs, &view->rpzs);
|
||||
} else if (old != NULL && pview != NULL) {
|
||||
view->rpzs->rpz_ver = pview->rpzs->rpz_ver + 1;
|
||||
pview->rpzs->rpz_ver += 1;
|
||||
view->rpzs->rpz_ver = pview->rpzs->rpz_ver;
|
||||
cfg_obj_log(rpz_obj, ns_g_lctx, ISC_LOG_DEBUG(1),
|
||||
"updated RPZ policy: version %d",
|
||||
view->rpzs->rpz_ver);
|
||||
|
||||
Reference in New Issue
Block a user