]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
ipset-pf-support, fix compilation, close of pf socket.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Mon, 1 Jul 2024 12:54:45 +0000 (14:54 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Mon, 1 Jul 2024 12:54:45 +0000 (14:54 +0200)
ipset/ipset.c
pythonmod/pythonmod.c
util/fptr_wlist.c
util/fptr_wlist.h

index 59fd9ce9f67d17ffe42b8d0dcb8e6db381c40341..f7cf2082ea1b84defe0d9f96d0d9f9a2de855271 100644 (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,
        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;
index b8f2d62fb966fd0d344a96d7589eb562e53edb6f..6bc6752e2db734fbd57847888ff009542e7d27e4 100644 (file)
@@ -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
 };
 
index 3ea25835899ff34abcdf0873f5f6523a822d842e..d249413213168016593d4ea7b466bd152e206de8 100644 (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 == &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;
index cf1a4fbc3e31df79d08e53177820002aa70932aa..cf70c7066ca97d68ba3c84982a4a586bc3520119 100644 (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));
 
+/**
+ * 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.
  *