diff options
-rw-r--r-- | src/libmime/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/libserver/cfg_rcl.c | 1 | ||||
-rw-r--r-- | src/lua/lua_cfg_file.c | 1 | ||||
-rw-r--r-- | src/lua/lua_common.c | 1 | ||||
-rw-r--r-- | src/lua/lua_config.c | 107 | ||||
-rw-r--r-- | src/lua/lua_regexp.c | 1 |
6 files changed, 1 insertions, 112 deletions
diff --git a/src/libmime/CMakeLists.txt b/src/libmime/CMakeLists.txt index 36de02c82..bb678d2f9 100644 --- a/src/libmime/CMakeLists.txt +++ b/src/libmime/CMakeLists.txt @@ -1,6 +1,6 @@ # Librspamd mime SET(LIBRSPAMDMIMESRC - ${CMAKE_CURRENT_SOURCE_DIR}/expressions.c + ${CMAKE_CURRENT_SOURCE_DIR}/mime_expressions.c ${CMAKE_CURRENT_SOURCE_DIR}/filter.c ${CMAKE_CURRENT_SOURCE_DIR}/images.c ${CMAKE_CURRENT_SOURCE_DIR}/message.c diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index 21dff7dd1..5071b390f 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -27,7 +27,6 @@ #include "utlist.h" #include "cfg_file.h" #include "lua/lua_common.h" -#include "expressions.h" struct rspamd_rcl_default_handler_data { diff --git a/src/lua/lua_cfg_file.c b/src/lua/lua_cfg_file.c index c29b4b2b1..9ad333132 100644 --- a/src/lua/lua_cfg_file.c +++ b/src/lua/lua_cfg_file.c @@ -23,7 +23,6 @@ */ #include "lua_common.h" -#include "expressions.h" #include "symbols_cache.h" #ifdef HAVE_SYS_UTSNAME_H #include <sys/utsname.h> diff --git a/src/lua/lua_common.c b/src/lua/lua_common.c index 63d34e4e6..d970325d1 100644 --- a/src/lua/lua_common.c +++ b/src/lua/lua_common.c @@ -23,7 +23,6 @@ */ #include "lua_common.h" -#include "expressions.h" /* Lua module init function */ #define MODULE_INIT_FUNC "module_init" diff --git a/src/lua/lua_config.c b/src/lua/lua_config.c index 5116fff93..178b3f098 100644 --- a/src/lua/lua_config.c +++ b/src/lua/lua_config.c @@ -24,7 +24,6 @@ #include "lua_common.h" -#include "expressions.h" #include "map.h" #include "message.h" #include "radix.h" @@ -70,27 +69,6 @@ LUA_FUNCTION_DEF (config, get_all_opt); */ LUA_FUNCTION_DEF (config, get_mempool); /*** - * @method rspamd_config:register_function(name, callback) - * Registers new rspamd function that could be used in symbols expressions - * @param {string} name name of function - * @param {function} callback callback to be called - * @example - -local function lua_header_exists(task, hname) - if task:get_raw_header(hname) then - return true - end - - return false -end - -rspamd_config:register_function('lua_header_exists', lua_header_exists) - --- Further in configuration it would be possible to define symbols like: --- HAS_CONTENT_TYPE = 'lua_header_exists(Content-Type)' - */ -LUA_FUNCTION_DEF (config, register_function); -/*** * @method rspamd_config:add_radix_map(mapline[, description]) * Creates new dynamic map of IP/mask addresses. * @param {string} mapline URL for a map @@ -314,7 +292,6 @@ static const struct luaL_reg configlib_m[] = { LUA_INTERFACE_DEF (config, get_module_opt), LUA_INTERFACE_DEF (config, get_mempool), LUA_INTERFACE_DEF (config, get_all_opt), - LUA_INTERFACE_DEF (config, register_function), LUA_INTERFACE_DEF (config, add_radix_map), LUA_INTERFACE_DEF (config, radix_from_config), LUA_INTERFACE_DEF (config, add_hash_map), @@ -532,90 +509,6 @@ lua_destroy_cfg_symbol (gpointer ud) } } -static gboolean -lua_config_function_callback (struct rspamd_task *task, - GList *args, - void *user_data) -{ - struct lua_callback_data *cd = user_data; - struct rspamd_task **ptask; - gint i = 1; - struct expression_argument *arg; - GList *cur; - gboolean res = FALSE; - - if (cd->cb_is_ref) { - lua_rawgeti (cd->L, LUA_REGISTRYINDEX, cd->callback.ref); - } - else { - lua_getglobal (cd->L, cd->callback.name); - } - ptask = lua_newuserdata (cd->L, sizeof (struct rspamd_task *)); - rspamd_lua_setclass (cd->L, "rspamd{task}", -1); - *ptask = task; - /* Now push all arguments */ - cur = args; - while (cur) { - arg = get_function_arg (cur->data, task, TRUE); - lua_pushstring (cd->L, (const gchar *)arg->data); - cur = g_list_next (cur); - i++; - } - - if (lua_pcall (cd->L, i, 1, 0) != 0) { - msg_info ("error processing symbol %s: call to %s failed: %s", - cd->symbol, - cd->cb_is_ref ? "local function" : - cd->callback.name, - lua_tostring (cd->L, -1)); - } - else { - if (lua_isboolean (cd->L, 1)) { - res = lua_toboolean (cd->L, 1); - } - lua_pop (cd->L, 1); - } - - return res; -} - -static gint -lua_config_register_function (lua_State *L) -{ - struct rspamd_config *cfg = lua_check_config (L); - gchar *name; - struct lua_callback_data *cd; - - if (cfg) { - name = rspamd_mempool_strdup (cfg->cfg_pool, luaL_checkstring (L, 2)); - cd = - rspamd_mempool_alloc (cfg->cfg_pool, - sizeof (struct lua_callback_data)); - - if (lua_type (L, 3) == LUA_TSTRING) { - cd->callback.name = rspamd_mempool_strdup (cfg->cfg_pool, - luaL_checkstring (L, 3)); - cd->cb_is_ref = FALSE; - } - else { - lua_pushvalue (L, 3); - /* Get a reference */ - cd->callback.ref = luaL_ref (L, LUA_REGISTRYINDEX); - cd->cb_is_ref = TRUE; - } - if (name) { - cd->L = L; - cd->symbol = name; - register_expression_function (name, lua_config_function_callback, - cd); - } - rspamd_mempool_add_destructor (cfg->cfg_pool, - (rspamd_mempool_destruct_t)lua_destroy_cfg_symbol, - cd); - } - return 1; -} - static gint lua_config_register_module_option (lua_State *L) { diff --git a/src/lua/lua_regexp.c b/src/lua/lua_regexp.c index 6fa0de772..58073b3bc 100644 --- a/src/lua/lua_regexp.c +++ b/src/lua/lua_regexp.c @@ -22,7 +22,6 @@ */ #include "lua_common.h" -#include "expressions.h" #include "regexp.h" /*** |