ipset-pf-support, fix compilation, close of pf socket.

This commit is contained in:
W.C.A. Wijngaards 2024-07-01 14:54:45 +02:00
parent 3953f827fb
commit fd11cd9182
4 changed files with 14 additions and 3 deletions

View file

@ -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, static int ipset_update(struct module_env *env, struct dns_msg *return_msg,
struct query_info qinfo, struct ipset_env *ie) struct query_info qinfo, struct ipset_env *ie)
{
size_t i; size_t i;
const char *setname; const char *setname;
struct ub_packed_rrset_key *rrset; 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) { int ipset_deinit(struct module_env* env, int id) {
struct ipset_env *ipset_env = env->modinfo[id]; struct ipset_env *ipset_env = env->modinfo[id];
#ifdef HAVE_NET_PFVAR_H
close((filter_dev)ipset_env->dev); close((filter_dev)ipset_env->dev);
#endif
free(ipset_env); free(ipset_env);
env->modinfo[id] = NULL; env->modinfo[id] = NULL;
return 1; return 1;

View file

@ -777,7 +777,7 @@ size_t pythonmod_get_mem(struct module_env* env, int id)
*/ */
static struct module_func_block pythonmod_block = { static struct module_func_block pythonmod_block = {
"python", "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 &pythonmod_clear, &pythonmod_get_mem
}; };

View file

@ -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 == &dns64_setup) return 1;
else if(fptr == &respip_setup) return 1; else if(fptr == &respip_setup) return 1;
#ifdef WITH_PYTHONMODULE #ifdef WITH_PYTHONMODULE
else if(fptr == &pythonmod_setup) return 1; else if(fptr == &pythonmod_init) return 1;
#endif #endif
#ifdef WITH_DYNLIBMODULE #ifdef WITH_DYNLIBMODULE
else if(fptr == &dynlibmod_init) return 1; 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 == &dns64_desetup) return 1;
else if(fptr == &respip_desetup) return 1; else if(fptr == &respip_desetup) return 1;
#ifdef WITH_PYTHONMODULE #ifdef WITH_PYTHONMODULE
else if(fptr == &pythonmod_desetup) return 1; else if(fptr == &pythonmod_deinit) return 1;
#endif #endif
#ifdef WITH_DYNLIBMODULE #ifdef WITH_DYNLIBMODULE
else if(fptr == &dynlibmod_deinit) return 1; else if(fptr == &dynlibmod_deinit) return 1;

View file

@ -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)); 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. * Check function pointer whitelist for module setup call values.
* *