unbound
0.1
|
This file contains functions that check function pointers. More...
#include "config.h"
#include "util/fptr_wlist.h"
#include "util/mini_event.h"
#include "daemon/worker.h"
#include "daemon/remote.h"
#include "services/outside_network.h"
#include "services/mesh.h"
#include "services/localzone.h"
#include "services/cache/infra.h"
#include "services/cache/rrset.h"
#include "iterator/iterator.h"
#include "iterator/iter_fwd.h"
#include "validator/validator.h"
#include "validator/val_anchor.h"
#include "validator/val_nsec3.h"
#include "validator/val_sigcrypt.h"
#include "validator/val_kentry.h"
#include "validator/val_neg.h"
#include "validator/autotrust.h"
#include "util/data/msgreply.h"
#include "util/data/packed_rrset.h"
#include "util/storage/slabhash.h"
#include "util/storage/dnstree.h"
#include "util/locks.h"
#include "libunbound/libworker.h"
#include "libunbound/context.h"
#include "util/tube.h"
#include "util/config_file.h"
Functions | |
int | fptr_whitelist_comm_point (comm_point_callback_t *fptr) |
Check function pointer whitelist for comm_point callback values. | |
int | fptr_whitelist_comm_point_raw (comm_point_callback_t *fptr) |
Check function pointer whitelist for raw comm_point callback values. | |
int | fptr_whitelist_comm_timer (void(*fptr)(void *)) |
Check function pointer whitelist for comm_timer callback values. | |
int | fptr_whitelist_comm_signal (void(*fptr)(int, void *)) |
Check function pointer whitelist for comm_signal callback values. | |
int | fptr_whitelist_event (void(*fptr)(int, short, void *)) |
Check function pointer whitelist for event structure callback values. | |
int | fptr_whitelist_pending_udp (comm_point_callback_t *fptr) |
Check function pointer whitelist for pending udp callback values. | |
int | fptr_whitelist_pending_tcp (comm_point_callback_t *fptr) |
Check function pointer whitelist for pending tcp callback values. | |
int | fptr_whitelist_serviced_query (comm_point_callback_t *fptr) |
Check function pointer whitelist for serviced query callback values. | |
int | fptr_whitelist_rbtree_cmp (int(*fptr)(const void *, const void *)) |
Check function pointer whitelist for rbtree cmp callback values. | |
int | fptr_whitelist_hash_sizefunc (lruhash_sizefunc_t fptr) |
Check function pointer whitelist for lruhash sizefunc callback values. | |
int | fptr_whitelist_hash_compfunc (lruhash_compfunc_t fptr) |
Check function pointer whitelist for lruhash compfunc callback values. | |
int | fptr_whitelist_hash_delkeyfunc (lruhash_delkeyfunc_t fptr) |
Check function pointer whitelist for lruhash delkeyfunc callback values. | |
int | fptr_whitelist_hash_deldatafunc (lruhash_deldatafunc_t fptr) |
Check function pointer whitelist for lruhash deldata callback values. | |
int | fptr_whitelist_hash_markdelfunc (lruhash_markdelfunc_t fptr) |
Check function pointer whitelist for lruhash markdel callback values. | |
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, struct sockaddr_storage *addr, socklen_t addrlen, uint8_t *zone, size_t zonelen, struct module_qstate *q)) |
whitelist env->send_query callbacks | |
int | fptr_whitelist_modenv_detach_subs (void(*fptr)(struct module_qstate *qstate)) |
Check function pointer whitelist for module_env detach_subs callback values. | |
int | fptr_whitelist_modenv_attach_sub (int(*fptr)(struct module_qstate *qstate, struct query_info *qinfo, uint16_t qflags, int prime, struct module_qstate **newq)) |
Check function pointer whitelist for module_env attach_sub callback values. | |
int | fptr_whitelist_modenv_kill_sub (void(*fptr)(struct module_qstate *newq)) |
Check function pointer whitelist for module_env kill_sub callback values. | |
int | fptr_whitelist_modenv_detect_cycle (int(*fptr)(struct module_qstate *qstate, struct query_info *qinfo, uint16_t flags, int prime)) |
Check function pointer whitelist for module_env detect_cycle callback values. | |
int | fptr_whitelist_mod_init (int(*fptr)(struct module_env *env, int id)) |
Check function pointer whitelist for module init call values. | |
int | fptr_whitelist_mod_deinit (void(*fptr)(struct module_env *env, int id)) |
Check function pointer whitelist for module deinit call values. | |
int | fptr_whitelist_mod_operate (void(*fptr)(struct module_qstate *qstate, enum module_ev event, int id, struct outbound_entry *outbound)) |
Check function pointer whitelist for module operate call values. | |
int | fptr_whitelist_mod_inform_super (void(*fptr)(struct module_qstate *qstate, int id, struct module_qstate *super)) |
Check function pointer whitelist for module inform_super call values. | |
int | fptr_whitelist_mod_clear (void(*fptr)(struct module_qstate *qstate, int id)) |
Check function pointer whitelist for module clear call values. | |
int | fptr_whitelist_mod_get_mem (size_t(*fptr)(struct module_env *env, int id)) |
Check function pointer whitelist for module get_mem call values. | |
int | fptr_whitelist_alloc_cleanup (void(*fptr)(void *)) |
Check function pointer whitelist for alloc clear on id overflow call values. | |
int | fptr_whitelist_tube_listen (tube_callback_t *fptr) |
Check function pointer whitelist for tube listen handler values. | |
int | fptr_whitelist_mesh_cb (mesh_cb_func_t fptr) |
Check function pointer whitelist for mesh state callback values. | |
int | fptr_whitelist_print_func (void(*fptr)(char *, void *)) |
Check function pointer whitelist for config_get_option func values. |
This file contains functions that check function pointers.
The functions contain a whitelist of known good callback values. Any other values lead to an error.
Due to the listing nature, this file violates all the modularization boundaries in the program.
int fptr_whitelist_comm_point | ( | comm_point_callback_t * | fptr | ) |
Check function pointer whitelist for comm_point callback values.
fptr,: | function pointer to check. |
References outnet_tcp_cb(), outnet_udp_cb(), tube_handle_listen(), and worker_handle_request().
Referenced by comm_point_local_handle_callback(), comm_point_tcp_handle_callback(), comm_point_udp_ancil_callback(), comm_point_udp_callback(), and tcp_callback_reader().
int fptr_whitelist_comm_point_raw | ( | comm_point_callback_t * | fptr | ) |
Check function pointer whitelist for raw comm_point callback values.
fptr,: | function pointer to check. |
References remote_accept_callback(), remote_control_callback(), tube_handle_listen(), and tube_handle_write().
int fptr_whitelist_comm_timer | ( | void(*)(void *) | fptr | ) |
Check function pointer whitelist for comm_timer callback values.
fptr,: | function pointer to check. |
References outnet_tcptimer(), pending_udp_timer_cb(), worker_probe_timer_cb(), worker_stat_timer_cb(), and wsvc_cron_cb().
Referenced by comm_timer_create(), and time_passes().
int fptr_whitelist_comm_signal | ( | void(*)(int, void *) | fptr | ) |
Check function pointer whitelist for comm_signal callback values.
fptr,: | function pointer to check. |
References worker_sighandler().
Referenced by comm_signal_callback().
int fptr_whitelist_event | ( | void(*)(int, short, void *) | fptr | ) |
Check function pointer whitelist for event structure callback values.
This is not called by libevent itself, but checked by netevent.
fptr,: | function pointer to check. |
References comm_point_raw_handle_callback(), comm_timer_callback(), tube_handle_signal(), and worker_win_stop_cb().
int fptr_whitelist_pending_udp | ( | comm_point_callback_t * | fptr | ) |
Check function pointer whitelist for pending udp callback values.
fptr,: | function pointer to check. |
References serviced_udp_callback(), and worker_handle_reply().
Referenced by outnet_send_wait_udp(), outnet_udp_cb(), and pending_udp_timer_cb().
int fptr_whitelist_pending_tcp | ( | comm_point_callback_t * | fptr | ) |
Check function pointer whitelist for pending tcp callback values.
fptr,: | function pointer to check. |
References serviced_tcp_callback(), and worker_handle_reply().
Referenced by outnet_tcp_cb(), outnet_tcptimer(), and use_free_buffer().
int fptr_whitelist_serviced_query | ( | comm_point_callback_t * | fptr | ) |
Check function pointer whitelist for serviced query callback values.
fptr,: | function pointer to check. |
References worker_handle_service_reply().
Referenced by serviced_callbacks().
int fptr_whitelist_rbtree_cmp | ( | int(*)(const void *, const void *) | fptr | ) |
Check function pointer whitelist for rbtree cmp callback values.
fptr,: | function pointer to check. |
References addr_tree_compare(), anchor_cmp(), canonical_tree_compare(), fwd_cmp(), local_data_cmp(), local_zone_cmp(), mesh_state_compare(), mesh_state_ref_compare(), mini_ev_cmp(), name_tree_compare(), nsec3_hash_cmp(), pending_cmp(), probetree_cmp(), serviced_cmp(), val_neg_data_compare(), and val_neg_zone_compare().
Referenced by rbtree_find_less_equal(), and rbtree_insert().
int fptr_whitelist_hash_sizefunc | ( | lruhash_sizefunc_t | fptr | ) |
Check function pointer whitelist for lruhash sizefunc callback values.
fptr,: | function pointer to check. |
References infra_sizefunc(), key_entry_sizefunc(), msgreply_sizefunc(), test_slabhash_sizefunc(), and ub_rrset_sizefunc().
Referenced by lruhash_insert(), and lruhash_remove().
int fptr_whitelist_hash_compfunc | ( | lruhash_compfunc_t | fptr | ) |
Check function pointer whitelist for lruhash compfunc callback values.
fptr,: | function pointer to check. |
References infra_compfunc(), key_entry_compfunc(), query_info_compare(), test_slabhash_compfunc(), and ub_rrset_compare().
Referenced by lruhash_insert(), lruhash_lookup(), and lruhash_remove().
int fptr_whitelist_hash_delkeyfunc | ( | lruhash_delkeyfunc_t | fptr | ) |
Check function pointer whitelist for lruhash delkeyfunc callback values.
fptr,: | function pointer to check. |
References infra_delkeyfunc(), key_entry_delkeyfunc(), query_entry_delete(), test_slabhash_delkey(), and ub_rrset_key_delete().
Referenced by lruhash_clear(), lruhash_insert(), and lruhash_remove().
int fptr_whitelist_hash_deldatafunc | ( | lruhash_deldatafunc_t | fptr | ) |
Check function pointer whitelist for lruhash deldata callback values.
fptr,: | function pointer to check. |
References infra_deldatafunc(), key_entry_deldatafunc(), reply_info_delete(), rrset_data_delete(), and test_slabhash_deldata().
Referenced by lruhash_clear(), lruhash_insert(), and lruhash_remove().
int fptr_whitelist_hash_markdelfunc | ( | lruhash_markdelfunc_t | fptr | ) |
Check function pointer whitelist for lruhash markdel callback values.
fptr,: | function pointer to check. |
References rrset_markdel().
Referenced by lruhash_clear(), lruhash_insert(), and lruhash_remove().
int fptr_whitelist_modenv_detach_subs | ( | void(*)(struct module_qstate *qstate) | fptr | ) |
Check function pointer whitelist for module_env detach_subs callback values.
fptr,: | function pointer to check. |
References mesh_detach_subs().
Referenced by processInitRequest3(), and processQueryResponse().
int fptr_whitelist_modenv_attach_sub | ( | int(*)(struct module_qstate *qstate, struct query_info *qinfo, uint16_t qflags, int prime, struct module_qstate **newq) | fptr | ) |
Check function pointer whitelist for module_env attach_sub callback values.
fptr,: | function pointer to check. |
References mesh_attach_sub().
Referenced by generate_request(), and generate_sub_request().
int fptr_whitelist_modenv_kill_sub | ( | void(*)(struct module_qstate *newq) | fptr | ) |
Check function pointer whitelist for module_env kill_sub callback values.
fptr,: | function pointer to check. |
References mesh_state_delete().
Referenced by generate_ns_check(), generate_sub_request(), prime_root(), and prime_stub().
int fptr_whitelist_modenv_detect_cycle | ( | int(*)(struct module_qstate *qstate, struct query_info *qinfo, uint16_t flags, int prime) | fptr | ) |
Check function pointer whitelist for module_env detect_cycle callback values.
fptr,: | function pointer to check. |
References mesh_detect_cycle().
Referenced by causes_cycle().
int fptr_whitelist_mod_init | ( | int(*)(struct module_env *env, int id) | fptr | ) |
Check function pointer whitelist for module init call values.
fptr,: | function pointer to check. |
References iter_init(), pythonmod_init(), and val_init().
Referenced by modstack_setup().
int fptr_whitelist_mod_deinit | ( | void(*)(struct module_env *env, int id) | fptr | ) |
Check function pointer whitelist for module deinit call values.
fptr,: | function pointer to check. |
References iter_deinit(), pythonmod_deinit(), and val_deinit().
Referenced by modstack_desetup().
int fptr_whitelist_mod_operate | ( | void(*)(struct module_qstate *qstate, enum module_ev event, int id, struct outbound_entry *outbound) | fptr | ) |
Check function pointer whitelist for module operate call values.
fptr,: | function pointer to check. |
References iter_operate(), pythonmod_operate(), and val_operate().
Referenced by mesh_run().
int fptr_whitelist_mod_inform_super | ( | void(*)(struct module_qstate *qstate, int id, struct module_qstate *super) | fptr | ) |
Check function pointer whitelist for module inform_super call values.
fptr,: | function pointer to check. |
References iter_inform_super(), pythonmod_inform_super(), and val_inform_super().
Referenced by mesh_walk_supers().
int fptr_whitelist_mod_clear | ( | void(*)(struct module_qstate *qstate, int id) | fptr | ) |
Check function pointer whitelist for module clear call values.
fptr,: | function pointer to check. |
References iter_clear(), pythonmod_clear(), and val_clear().
Referenced by mesh_continue(), and mesh_state_cleanup().
int fptr_whitelist_mod_get_mem | ( | size_t(*)(struct module_env *env, int id) | fptr | ) |
Check function pointer whitelist for module get_mem call values.
fptr,: | function pointer to check. |
References iter_get_mem(), pythonmod_get_mem(), and val_get_mem().
Referenced by print_mem(), and worker_mem_report().
int fptr_whitelist_alloc_cleanup | ( | void(*)(void *) | fptr | ) |
Check function pointer whitelist for alloc clear on id overflow call values.
fptr,: | function pointer to check. |
References worker_alloc_cleanup().
Referenced by alloc_get_id(), and outnet_udp_cb().
int fptr_whitelist_tube_listen | ( | tube_callback_t * | fptr | ) |
Check function pointer whitelist for tube listen handler values.
fptr,: | function pointer to check. |
References worker_handle_control_cmd().
int fptr_whitelist_mesh_cb | ( | mesh_cb_func_t | fptr | ) |
Check function pointer whitelist for mesh state callback values.
fptr,: | function pointer to check. |
References probe_answer_cb().
Referenced by mesh_do_callback(), mesh_state_add_cb(), and mesh_state_cleanup().
int fptr_whitelist_print_func | ( | void(*)(char *, void *) | fptr | ) |
Check function pointer whitelist for config_get_option func values.
fptr,: | function pointer to check. |
References config_collate_func(), config_print_func(), and remote_get_opt_ssl().
Referenced by config_get_option().