From: W.C.A. Wijngaards Date: Mon, 1 Jul 2024 12:54:45 +0000 (+0200) Subject: ipset-pf-support, fix compilation, close of pf socket. X-Git-Tag: release-1.21.0rc1~48^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd11cd91824bf6d253412aa2a955dbc5792fd04f;p=thirdparty%2Funbound.git ipset-pf-support, fix compilation, close of pf socket. --- diff --git a/ipset/ipset.c b/ipset/ipset.c index 59fd9ce9f..f7cf2082e 100644 --- a/ipset/ipset.c +++ b/ipset/ipset.c @@ -270,6 +270,7 @@ ipset_check_zones_for_rrset(struct module_env *env, struct ipset_env *ie, static int ipset_update(struct module_env *env, struct dns_msg *return_msg, struct query_info qinfo, struct ipset_env *ie) +{ size_t i; const char *setname; struct ub_packed_rrset_key *rrset; @@ -344,7 +345,9 @@ int ipset_init(struct module_env* env, int id) { int ipset_deinit(struct module_env* env, int id) { struct ipset_env *ipset_env = env->modinfo[id]; +#ifdef HAVE_NET_PFVAR_H close((filter_dev)ipset_env->dev); +#endif free(ipset_env); env->modinfo[id] = NULL; return 1; diff --git a/pythonmod/pythonmod.c b/pythonmod/pythonmod.c index b8f2d62fb..6bc6752e2 100644 --- a/pythonmod/pythonmod.c +++ b/pythonmod/pythonmod.c @@ -777,7 +777,7 @@ size_t pythonmod_get_mem(struct module_env* env, int id) */ static struct module_func_block pythonmod_block = { "python", - &pythonmod_init, &pythonmod_deinit, &pythonmod_operate, &pythonmod_inform_super, + &module_dummy_init, &module_dummy_init, &pythonmod_init, &pythonmod_deinit, &pythonmod_operate, &pythonmod_inform_super, &pythonmod_clear, &pythonmod_get_mem }; diff --git a/util/fptr_wlist.c b/util/fptr_wlist.c index 3ea258358..d24941321 100644 --- a/util/fptr_wlist.c +++ b/util/fptr_wlist.c @@ -420,7 +420,7 @@ fptr_whitelist_mod_setup(int (*fptr)(struct module_env* env, int id)) else if(fptr == &dns64_setup) return 1; else if(fptr == &respip_setup) return 1; #ifdef WITH_PYTHONMODULE - else if(fptr == &pythonmod_setup) return 1; + else if(fptr == &pythonmod_init) return 1; #endif #ifdef WITH_DYNLIBMODULE else if(fptr == &dynlibmod_init) return 1; @@ -448,7 +448,7 @@ fptr_whitelist_mod_desetup(void (*fptr)(struct module_env* env, int id)) else if(fptr == &dns64_desetup) return 1; else if(fptr == &respip_desetup) return 1; #ifdef WITH_PYTHONMODULE - else if(fptr == &pythonmod_desetup) return 1; + else if(fptr == &pythonmod_deinit) return 1; #endif #ifdef WITH_DYNLIBMODULE else if(fptr == &dynlibmod_deinit) return 1; diff --git a/util/fptr_wlist.h b/util/fptr_wlist.h index cf1a4fbc3..cf70c7066 100644 --- a/util/fptr_wlist.h +++ b/util/fptr_wlist.h @@ -270,6 +270,14 @@ int fptr_whitelist_modenv_detect_cycle(int (*fptr)( */ int fptr_whitelist_mod_init(int (*fptr)(struct module_env* env, int id)); +/** + * Check function pointer whitelist for module deinit call values. + * + * @param fptr: function pointer to check. + * @return false if not in whitelist. + */ +int fptr_whitelist_mod_deinit(int (*fptr)(struct module_env* env, int id)); + /** * Check function pointer whitelist for module setup call values. *