if (ret != KNOT_EOK) {
return KNOT_STATE_FAIL;
}
+ } else if (qdata->extra->zone->is_catalog_flag) {
+ NS_NEED_AUTH(qdata, ACL_ACTION_QUERY);
}
/* Check if the zone is not empty or expired. */
qdata->extra->contents = qdata->extra->zone->contents;
}
- /* Allow normal queries to catalog only if allowed by ACL. */
- if (qdata->extra->zone != NULL && qdata->extra->zone->is_catalog_flag &&
- query_type(query) == KNOTD_QUERY_TYPE_NORMAL) {
- if (!process_query_acl_check(conf(), ACL_ACTION_QUERY, qdata)) {
- qdata->extra->zone = NULL;
- qdata->extra->contents = NULL;
- }
- }
-
return KNOT_EOK;
}