aboutsummaryrefslogtreecommitdiff
path: root/util/fptr_wlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/fptr_wlist.c')
-rw-r--r--util/fptr_wlist.c41
1 files changed, 36 insertions, 5 deletions
diff --git a/util/fptr_wlist.c b/util/fptr_wlist.c
index 80a23f20361b..cbcf8f5f5487 100644
--- a/util/fptr_wlist.c
+++ b/util/fptr_wlist.c
@@ -51,6 +51,7 @@
#include "services/localzone.h"
#include "services/cache/infra.h"
#include "services/cache/rrset.h"
+#include "services/view.h"
#include "dns64/dns64.h"
#include "iterator/iterator.h"
#include "iterator/iter_fwd.h"
@@ -203,6 +204,7 @@ fptr_whitelist_rbtree_cmp(int (*fptr) (const void *, const void *))
else if(fptr == &val_neg_zone_compare) return 1;
else if(fptr == &probetree_cmp) return 1;
else if(fptr == &replay_var_compare) return 1;
+ else if(fptr == &view_cmp) return 1;
return 0;
}
@@ -265,11 +267,9 @@ fptr_whitelist_hash_markdelfunc(lruhash_markdelfunc_t fptr)
/** whitelist env->send_query callbacks */
int
fptr_whitelist_modenv_send_query(struct outbound_entry* (*fptr)(
- uint8_t* qname, size_t qnamelen, uint16_t qtype, uint16_t qclass,
- uint16_t flags, int dnssec, int want_dnssec, int nocaps,
- struct edns_option* opt_list, struct sockaddr_storage* addr,
- socklen_t addrlen, uint8_t* zone, size_t zonelen,
- struct module_qstate* q))
+ struct query_info* qinfo, uint16_t flags, int dnssec, int want_dnssec,
+ int nocaps, struct sockaddr_storage* addr, socklen_t addrlen,
+ uint8_t* zone, size_t zonelen, int ssl_upstream, struct module_qstate* q))
{
if(fptr == &worker_send_query) return 1;
else if(fptr == &libworker_send_query) return 1;
@@ -432,3 +432,34 @@ int fptr_whitelist_print_func(void (*fptr)(char*,void*))
else if(fptr == &remote_get_opt_ssl) return 1;
return 0;
}
+
+int fptr_whitelist_inplace_cb_reply_generic(inplace_cb_reply_func_t* fptr,
+ enum inplace_cb_list_type type)
+{
+#ifndef WITH_PYTHONMODULE
+ (void)fptr;
+#endif
+ if(type == inplace_cb_reply) {
+#ifdef WITH_PYTHONMODULE
+ if(fptr == &python_inplace_cb_reply_generic) return 1;
+#endif
+ } else if(type == inplace_cb_reply_cache) {
+#ifdef WITH_PYTHONMODULE
+ if(fptr == &python_inplace_cb_reply_generic) return 1;
+#endif
+ } else if(type == inplace_cb_reply_local) {
+#ifdef WITH_PYTHONMODULE
+ if(fptr == &python_inplace_cb_reply_generic) return 1;
+#endif
+ } else if(type == inplace_cb_reply_servfail) {
+#ifdef WITH_PYTHONMODULE
+ if(fptr == &python_inplace_cb_reply_generic) return 1;
+#endif
+ }
+ return 0;
+}
+
+int fptr_whitelist_inplace_cb_query(inplace_cb_query_func_t* ATTR_UNUSED(fptr))
+{
+ return 0;
+}