diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-06-10 16:33:19 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-06-10 16:33:19 +0100 |
commit | 615df8d1fa4ad75dc14fc29e36ac18b118df50b1 (patch) | |
tree | 9c555f664c0429ff80c36d176932b69e2153474c /src | |
parent | 9646b753cbbaaa5ec480be3e230780fea4fef20e (diff) | |
download | rspamd-615df8d1fa4ad75dc14fc29e36ac18b118df50b1.tar.gz rspamd-615df8d1fa4ad75dc14fc29e36ac18b118df50b1.zip |
[Rework] Eliminate lua_squeeze as it has shown no improvements
Diffstat (limited to 'src')
-rw-r--r-- | src/libserver/cfg_file.h | 1 | ||||
-rw-r--r-- | src/libserver/cfg_rcl.c | 6 | ||||
-rw-r--r-- | src/libserver/cfg_utils.c | 17 | ||||
-rw-r--r-- | src/libserver/rspamd_symcache.c | 68 | ||||
-rw-r--r-- | src/libserver/rspamd_symcache.h | 1 | ||||
-rw-r--r-- | src/lua/lua_config.c | 296 | ||||
-rw-r--r-- | src/plugins/lua/settings.lua | 2 |
7 files changed, 78 insertions, 313 deletions
diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h index eccab1217..b5780a599 100644 --- a/src/libserver/cfg_file.h +++ b/src/libserver/cfg_file.h @@ -336,7 +336,6 @@ struct rspamd_config { gboolean enable_sessions_cache; /**< Enable session cache for debug */ gboolean enable_experimental; /**< Enable experimental plugins */ gboolean disable_pcre_jit; /**< Disable pcre JIT */ - gboolean disable_lua_squeeze; /**< Disable lua rules squeezing */ gboolean own_lua_state; /**< True if we have created lua_state internally */ gboolean soft_reject_on_timeout; /**< If true emit soft reject on task timeout (if not reject) */ diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index 4c069db9e..db1b54cf8 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -1924,12 +1924,6 @@ rspamd_rcl_config_init (struct rspamd_config *cfg, GHashTable *skip_sections) 0, "Disable PCRE JIT"); rspamd_rcl_add_default_handler (sub, - "disable_lua_squeeze", - rspamd_rcl_parse_struct_boolean, - G_STRUCT_OFFSET (struct rspamd_config, disable_lua_squeeze), - 0, - "Disable Lua rules squeezing"); - rspamd_rcl_add_default_handler (sub, "min_word_len", rspamd_rcl_parse_struct_integer, G_STRUCT_OFFSET (struct rspamd_config, min_word_len), diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c index 586625184..1c8b2ce5f 100644 --- a/src/libserver/cfg_utils.c +++ b/src/libserver/cfg_utils.c @@ -819,23 +819,6 @@ rspamd_config_post_load (struct rspamd_config *cfg, } if (opts & RSPAMD_CONFIG_INIT_SYMCACHE) { - lua_State *L = cfg->lua_state; - int err_idx; - - /* Process squeezed Lua rules */ - lua_pushcfunction (L, &rspamd_lua_traceback); - err_idx = lua_gettop (L); - - if (rspamd_lua_require_function (cfg->lua_state, "lua_squeeze_rules", - "squeeze_init")) { - if (lua_pcall (L, 0, 0, err_idx) != 0) { - msg_err_config ("call to squeeze_init script failed: %s", - lua_tostring (L, -1)); - } - } - - lua_settop (L, err_idx - 1); - /* Init config cache */ rspamd_symcache_init (cfg->cache); diff --git a/src/libserver/rspamd_symcache.c b/src/libserver/rspamd_symcache.c index bc3b5295c..42e40b68c 100644 --- a/src/libserver/rspamd_symcache.c +++ b/src/libserver/rspamd_symcache.c @@ -66,7 +66,6 @@ INIT_LOG_MODULE(symcache) (dyn_item)->finished = 1 #define CLR_FINISH_BIT(checkpoint, dyn_item) \ (dyn_item)->finished = 0 - static const guchar rspamd_symcache_magic[8] = {'r', 's', 'c', 2, 0, 0, 0, 0 }; struct rspamd_symcache_header { @@ -82,6 +81,21 @@ struct symcache_order { ref_entry_t ref; }; +/* + * This structure is optimised to store ids list: + * - If the first element is -1 then use dynamic part, else use static part + */ +struct rspamd_symcache_id_list { + union { + guint32 st[4]; + struct { + guint32 e; + guint32 dynlen; + guint *n; + } dyn; + }; +}; + struct rspamd_symcache_item { /* This block is likely shared */ struct item_stat *st; @@ -115,6 +129,9 @@ struct rspamd_symcache_item { guint order; gint id; gint frequency_peaks; + /* Settings ids */ + struct rspamd_symcache_id_list allowed_ids; + struct rspamd_symcache_id_list forbidden_ids; /* Dependencies */ GPtrArray *deps; @@ -143,7 +160,6 @@ struct rspamd_symcache { GPtrArray *composites; GPtrArray *idempotent; GPtrArray *virtual; - GPtrArray *squeezed; GList *delayed_deps; GList *delayed_conditions; rspamd_mempool_t *static_pool; @@ -984,10 +1000,6 @@ rspamd_symcache_add_symbol (struct rspamd_symcache *cache, } } - if (item->type & SYMBOL_TYPE_SQUEEZED) { - g_ptr_array_add (cache->squeezed, item); - } - cache->used_items ++; cache->id ++; @@ -1127,7 +1139,6 @@ rspamd_symcache_destroy (struct rspamd_symcache *cache) g_ptr_array_free (cache->postfilters, TRUE); g_ptr_array_free (cache->idempotent, TRUE); g_ptr_array_free (cache->composites, TRUE); - g_ptr_array_free (cache->squeezed, TRUE); REF_RELEASE (cache->items_by_order); if (cache->peak_cb != -1) { @@ -1155,7 +1166,6 @@ rspamd_symcache_new (struct rspamd_config *cfg) cache->idempotent = g_ptr_array_new (); cache->composites = g_ptr_array_new (); cache->virtual = g_ptr_array_new (); - cache->squeezed = g_ptr_array_new (); cache->reload_time = cfg->cache_reload_time; cache->total_hits = 1; cache->total_weight = 1.0; @@ -2331,7 +2341,7 @@ rspamd_symcache_disable_all_symbols (struct rspamd_task *task, PTR_ARRAY_FOREACH (cache->items_by_id, i, item) { dyn_item = rspamd_symcache_get_dynamic (checkpoint, item); - if (!(item->type & (SYMBOL_TYPE_SQUEEZED|skip_mask))) { + if (!(item->type & (skip_mask))) { SET_FINISH_BIT (checkpoint, dyn_item); SET_START_BIT (checkpoint, dyn_item); } @@ -2357,15 +2367,10 @@ rspamd_symcache_disable_symbol_checkpoint (struct rspamd_task *task, item = rspamd_symcache_find_filter (cache, symbol); if (item) { - if (!(item->type & SYMBOL_TYPE_SQUEEZED)) { - dyn_item = rspamd_symcache_get_dynamic (checkpoint, item); - SET_FINISH_BIT (checkpoint, dyn_item); - SET_START_BIT (checkpoint, dyn_item); - msg_debug_cache_task ("disable execution of %s", symbol); - } - else { - msg_debug_cache_task ("skip disabling squeezed symbol %s", symbol); - } + dyn_item = rspamd_symcache_get_dynamic (checkpoint, item); + SET_FINISH_BIT (checkpoint, dyn_item); + SET_START_BIT (checkpoint, dyn_item); + msg_debug_cache_task ("disable execution of %s", symbol); } else { msg_info_task ("cannot disable %s: not found", symbol); @@ -2391,15 +2396,10 @@ rspamd_symcache_enable_symbol_checkpoint (struct rspamd_task *task, item = rspamd_symcache_find_filter (cache, symbol); if (item) { - if (!(item->type & SYMBOL_TYPE_SQUEEZED)) { - dyn_item = rspamd_symcache_get_dynamic (checkpoint, item); - dyn_item->finished = 0; - dyn_item->started = 0; - msg_debug_cache_task ("enable execution of %s", symbol); - } - else { - msg_debug_cache_task ("skip enabling squeezed symbol %s", symbol); - } + dyn_item = rspamd_symcache_get_dynamic (checkpoint, item); + dyn_item->finished = 0; + dyn_item->started = 0; + msg_debug_cache_task ("enable execution of %s", symbol); } else { msg_info_task ("cannot enable %s: not found", symbol); @@ -2726,15 +2726,13 @@ rspamd_symcache_finalize_item (struct rspamd_task *task, rspamd_task_profile_set (task, item->symbol, diff); } - if (!(item->type & SYMBOL_TYPE_SQUEEZED)) { - if (diff > slow_diff_limit) { - msg_info_task ("slow rule: %s(%d): %.2f ms", item->symbol, item->id, - diff); - } + if (diff > slow_diff_limit) { + msg_info_task ("slow rule: %s(%d): %.2f ms", item->symbol, item->id, + diff); + } - if (rspamd_worker_is_scanner (task->worker)) { - rspamd_set_counter (item->cd, diff); - } + if (rspamd_worker_is_scanner (task->worker)) { + rspamd_set_counter (item->cd, diff); } /* Process all reverse dependencies */ diff --git a/src/libserver/rspamd_symcache.h b/src/libserver/rspamd_symcache.h index afdda7e79..728b7636c 100644 --- a/src/libserver/rspamd_symcache.h +++ b/src/libserver/rspamd_symcache.h @@ -45,7 +45,6 @@ enum rspamd_symbol_type { SYMBOL_TYPE_POSTFILTER = (1u << 10u), SYMBOL_TYPE_NOSTAT = (1u << 11u), /* Skip as statistical symbol */ SYMBOL_TYPE_IDEMPOTENT = (1u << 12u), /* Symbol cannot change metric */ - SYMBOL_TYPE_SQUEEZED = (1u << 13u), /* Symbol is squeezed inside Lua */ SYMBOL_TYPE_TRIVIAL = (1u << 14u), /* Symbol is trivial */ SYMBOL_TYPE_MIME_ONLY = (1u << 15u), /* Symbol is mime only */ SYMBOL_TYPE_EXPLICIT_DISABLE = (1u << 16u), /* Symbol should be disabled explicitly only */ diff --git a/src/lua/lua_config.c b/src/lua/lua_config.c index cc0fa44ee..f2e9abd01 100644 --- a/src/lua/lua_config.c +++ b/src/lua/lua_config.c @@ -1366,101 +1366,6 @@ lua_metric_symbol_callback_return (struct thread_entry *thread_entry, int ret) } static gint -rspamd_lua_squeeze_rule (lua_State *L, - struct rspamd_config *cfg, - const gchar *name, - gint cbref, - enum rspamd_symbol_type type, - gint parent) -{ - gint ret = -1, err_idx; - - lua_pushcfunction (L, &rspamd_lua_traceback); - err_idx = lua_gettop (L); - - if (type & SYMBOL_TYPE_VIRTUAL) { - if (rspamd_lua_require_function (L, "lua_squeeze_rules", "squeeze_virtual")) { - lua_pushnumber (L, parent); - if (name) { - lua_pushstring (L, name); - } - else { - lua_pushnil (L); - } - - /* Now call for squeeze function */ - if (lua_pcall (L, 2, 1, err_idx) != 0) { - msg_err_config ("call to squeeze_virtual failed: %s", - lua_tostring (L, -1)); - } - - ret = lua_tonumber (L, -1); - } - else { - msg_err_config ("lua_squeeze is absent or bad (missing squeeze_virtual)," - " your Rspamd installation" - " is likely corrupted!"); - } - } - else if (type & (SYMBOL_TYPE_CALLBACK|SYMBOL_TYPE_NORMAL)) { - if (rspamd_lua_require_function (L, "lua_squeeze_rules", "squeeze_rule")) { - if (name) { - lua_pushstring (L, name); - } - else { - lua_pushnil (L); - } - - /* Push function reference */ - lua_rawgeti (L, LUA_REGISTRYINDEX, cbref); - - /* Flags */ - lua_createtable (L, 0, 0); - - if (type & SYMBOL_TYPE_MIME_ONLY) { - lua_pushstring (L, "mime"); - lua_pushboolean (L, true); - lua_settable (L, -3); - } - if (type & SYMBOL_TYPE_FINE) { - lua_pushstring (L, "fine"); - lua_pushboolean (L, true); - lua_settable (L, -3); - } - if (type & SYMBOL_TYPE_NOSTAT) { - lua_pushstring (L, "nostat"); - lua_pushboolean (L, true); - lua_settable (L, -3); - } - if (type & SYMBOL_TYPE_EXPLICIT_DISABLE) { - lua_pushstring (L, "explicit_disable"); - lua_pushboolean (L, true); - lua_settable (L, -3); - } - - /* Now call for squeeze function */ - if (lua_pcall (L, 3, 1, err_idx) != 0) { - msg_err_config ("call to squeeze_rule failed: %s", - lua_tostring (L, -1)); - } - - ret = lua_tonumber (L, -1); - } - else { - msg_err_config ("lua_squeeze is absent or bad (missing squeeze_rule)," - " your Rspamd installation" - " is likely corrupted!"); - } - } - /* No squeeze for everything else */ - - /* Cleanup lua stack */ - lua_settop (L, err_idx - 1); - - return ret; -} - -static gint rspamd_register_symbol_fromlua (lua_State *L, struct rspamd_config *cfg, const gchar *name, @@ -1469,8 +1374,7 @@ rspamd_register_symbol_fromlua (lua_State *L, gint priority, enum rspamd_symbol_type type, gint parent, - gboolean optional, - gboolean no_squeeze) + gboolean optional) { struct lua_callback_data *cd; gint ret = -1; @@ -1493,55 +1397,41 @@ rspamd_register_symbol_fromlua (lua_State *L, } if (ref != -1) { - if (type & SYMBOL_TYPE_USE_CORO) { - /* Coroutines are incompatible with squeezing */ - no_squeeze = TRUE; + cd = rspamd_mempool_alloc0 (cfg->cfg_pool, + sizeof (struct lua_callback_data)); + cd->magic = rspamd_lua_callback_magic; + cd->cb_is_ref = TRUE; + cd->callback.ref = ref; + cd->L = L; + + if (name) { + cd->symbol = rspamd_mempool_strdup (cfg->cfg_pool, name); } - /* - * We call for routine called lua_squeeze_rules.squeeze_rule if it exists - */ - if (no_squeeze || (ret = rspamd_lua_squeeze_rule (L, cfg, name, ref, - type, parent)) == -1) { - cd = rspamd_mempool_alloc0 (cfg->cfg_pool, - sizeof (struct lua_callback_data)); - cd->magic = rspamd_lua_callback_magic; - cd->cb_is_ref = TRUE; - cd->callback.ref = ref; - cd->L = L; - - if (name) { - cd->symbol = rspamd_mempool_strdup (cfg->cfg_pool, name); - } - if (type & SYMBOL_TYPE_USE_CORO) { - ret = rspamd_symcache_add_symbol (cfg->cache, - name, - priority, - lua_metric_symbol_callback_coro, - cd, - type, - parent); - } - else { - ret = rspamd_symcache_add_symbol (cfg->cache, - name, - priority, - lua_metric_symbol_callback, - cd, - type, - parent); - } - rspamd_mempool_add_destructor (cfg->cfg_pool, - (rspamd_mempool_destruct_t)lua_destroy_cfg_symbol, - cd); + if (type & SYMBOL_TYPE_USE_CORO) { + ret = rspamd_symcache_add_symbol (cfg->cache, + name, + priority, + lua_metric_symbol_callback_coro, + cd, + type, + parent); + } + else { + ret = rspamd_symcache_add_symbol (cfg->cache, + name, + priority, + lua_metric_symbol_callback, + cd, + type, + parent); } + rspamd_mempool_add_destructor (cfg->cfg_pool, + (rspamd_mempool_destruct_t)lua_destroy_cfg_symbol, + cd); } else { - if (!no_squeeze) { - rspamd_lua_squeeze_rule (L, cfg, name, ref, - type, parent); - } - /* Not a squeezed symbol */ + /* No callback */ ret = rspamd_symcache_add_symbol (cfg->cache, name, priority, @@ -1587,8 +1477,7 @@ lua_config_register_post_filter (lua_State *L) order, SYMBOL_TYPE_POSTFILTER|SYMBOL_TYPE_CALLBACK, -1, - FALSE, - TRUE); + FALSE); lua_pushboolean (L, ret); } @@ -1632,8 +1521,7 @@ lua_config_register_pre_filter (lua_State *L) order, SYMBOL_TYPE_PREFILTER|SYMBOL_TYPE_CALLBACK, -1, - FALSE, - TRUE); + FALSE); lua_pushboolean (L, ret); } @@ -1694,9 +1582,6 @@ lua_parse_symbol_flags (const gchar *str) if (strstr (str, "idempotent") != NULL) { ret |= SYMBOL_TYPE_IDEMPOTENT; } - if (strstr (str, "squeezed") != NULL) { - ret |= SYMBOL_TYPE_SQUEEZED; - } if (strstr (str, "trivial") != NULL) { ret |= SYMBOL_TYPE_TRIVIAL; } @@ -1787,11 +1672,6 @@ lua_push_symbol_flags (lua_State *L, guint flags) lua_rawseti (L, -2, i++); } - if (flags & SYMBOL_TYPE_SQUEEZED) { - lua_pushstring (L, "squeezed"); - lua_rawseti (L, -2, i++); - } - if (flags & SYMBOL_TYPE_EXPLICIT_DISABLE) { lua_pushstring (L, "explicit_disable"); lua_rawseti (L, -2, i++); @@ -1893,7 +1773,7 @@ lua_config_register_symbol (lua_State * L) const gchar *name = NULL, *flags_str = NULL, *type_str = NULL, *description = NULL, *group = NULL; double weight = 0, score = NAN, parent_float = NAN; - gboolean one_shot = FALSE, no_squeeze = FALSE; + gboolean one_shot = FALSE; gint ret = -1, cbref = -1, type, flags = 0; gint64 parent = 0, priority = 0, nshots = 0; GError *err = NULL; @@ -1901,20 +1781,16 @@ lua_config_register_symbol (lua_State * L) if (cfg) { if (!rspamd_lua_parse_table_arguments (L, 2, &err, "name=S;weight=N;callback=F;flags=S;type=S;priority=I;parent=D;" - "score=D;description=S;group=S;one_shot=B;nshots=I;no_squeeze=B", + "score=D;description=S;group=S;one_shot=B;nshots=I", &name, &weight, &cbref, &flags_str, &type_str, &priority, &parent_float, - &score, &description, &group, &one_shot, &nshots, &no_squeeze)) { + &score, &description, &group, &one_shot, &nshots)) { msg_err_config ("bad arguments: %e", err); g_error_free (err); return luaL_error (L, "invalid arguments"); } - if (!no_squeeze) { - no_squeeze = cfg->disable_lua_squeeze; - } - if (nshots == 0) { nshots = cfg->default_max_shots; } @@ -1929,9 +1805,6 @@ lua_config_register_symbol (lua_State * L) } if (flags_str) { - /* Turn off squeezing as well for now */ - /* TODO: deal with it */ - no_squeeze = TRUE; type |= lua_parse_symbol_flags (flags_str); } @@ -1950,8 +1823,7 @@ lua_config_register_symbol (lua_State * L) priority, type, parent, - FALSE, - no_squeeze); + FALSE); if (!isnan (score) || group) { if (one_shot) { @@ -2039,7 +1911,6 @@ lua_config_register_symbols (lua_State *L) 0, SYMBOL_TYPE_CALLBACK, -1, - FALSE, FALSE); for (i = top; i <= lua_gettop (L); i++) { @@ -2131,8 +2002,7 @@ lua_config_register_callback_symbol (lua_State * L) 0, SYMBOL_TYPE_CALLBACK, -1, - FALSE, - lua_type (L, top + 1) == LUA_TSTRING); + FALSE); } lua_pushinteger (L, ret); @@ -2174,8 +2044,7 @@ lua_config_register_callback_symbol_priority (lua_State * L) priority, SYMBOL_TYPE_CALLBACK, -1, - FALSE, - lua_type (L, top + 2) == LUA_TSTRING); + FALSE); } lua_pushinteger (L, ret); @@ -2183,40 +2052,6 @@ lua_config_register_callback_symbol_priority (lua_State * L) return 1; } -static gboolean -rspamd_lua_squeeze_dependency (lua_State *L, struct rspamd_config *cfg, - const gchar *child, - const gchar *parent) -{ - gint err_idx; - gboolean ret = FALSE; - - g_assert (parent != NULL); - g_assert (child != NULL); - - lua_pushcfunction (L, &rspamd_lua_traceback); - err_idx = lua_gettop (L); - - if (rspamd_lua_require_function (L, "lua_squeeze_rules", "squeeze_dependency")) { - lua_pushstring (L, child); - lua_pushstring (L, parent); - - if (lua_pcall (L, 2, 1, err_idx) != 0) { - msg_err_config ("call to squeeze_dependency script failed: %s", - lua_tostring (L, -1)); - } - else { - ret = lua_toboolean (L, -1); - } - } - else { - msg_err_config ("cannot get lua_squeeze_rules.squeeze_dependency function"); - } - - lua_settop (L, err_idx - 1); - - return ret; -} static gint lua_config_register_dependency (lua_State * L) @@ -2225,50 +2060,31 @@ lua_config_register_dependency (lua_State * L) struct rspamd_config *cfg = lua_check_config (L, 1); const gchar *parent = NULL, *child = NULL; gint child_id; - gboolean skip_squeeze; if (cfg == NULL) { lua_error (L); return 0; } - skip_squeeze = cfg->disable_lua_squeeze; - if (lua_type (L, 2) == LUA_TNUMBER) { child_id = luaL_checknumber (L, 2); parent = luaL_checkstring (L, 3); - if (!skip_squeeze && lua_isboolean (L, 4)) { - skip_squeeze = lua_toboolean (L, 4); - } - msg_warn_config ("calling for obsolete method to register deps for symbol %d->%s", child_id, parent); if (child_id > 0 && parent != NULL) { - if (skip_squeeze || !rspamd_lua_squeeze_dependency (L, cfg, - rspamd_symcache_symbol_by_id (cfg->cache, child_id), - parent)) { - rspamd_symcache_add_dependency (cfg->cache, child_id, parent); - } + rspamd_symcache_add_dependency (cfg->cache, child_id, parent); } } else { child = luaL_checkstring (L,2); parent = luaL_checkstring (L, 3); - if (!skip_squeeze && lua_isboolean (L, 4)) { - skip_squeeze = lua_toboolean (L, 4); - } - if (child != NULL && parent != NULL) { - - if (skip_squeeze || !rspamd_lua_squeeze_dependency (L, cfg, child, parent)) { - rspamd_symcache_add_delayed_dependency (cfg->cache, child, - parent); - } - + rspamd_symcache_add_delayed_dependency (cfg->cache, child, + parent); } } @@ -2609,12 +2425,11 @@ lua_config_newindex (lua_State *L) struct rspamd_config *cfg = lua_check_config (L, 1); const gchar *name; gint id, nshots, flags = 0; - gboolean optional = FALSE, no_squeeze = FALSE; + gboolean optional = FALSE; name = luaL_checkstring (L, 2); if (cfg != NULL && name != NULL && lua_gettop (L) == 3) { - no_squeeze = cfg->disable_lua_squeeze; if (lua_type (L, 3) == LUA_TFUNCTION) { /* Normal symbol from just a function */ @@ -2627,15 +2442,13 @@ lua_config_newindex (lua_State *L) 0, SYMBOL_TYPE_NORMAL, -1, - FALSE, - no_squeeze); + FALSE); } else if (lua_type (L, 3) == LUA_TTABLE) { gint type = SYMBOL_TYPE_NORMAL, priority = 0, idx; gdouble weight = 1.0, score = NAN; const char *type_str, *group = NULL, *description = NULL; - no_squeeze = cfg->disable_lua_squeeze; /* * Table can have the following attributes: * "callback" - should be a callback function @@ -2704,24 +2517,6 @@ lua_config_newindex (lua_State *L) } lua_pop (L, 1); - lua_pushstring (L, "condition"); - lua_gettable (L, -2); - - if (lua_type (L, -1) == LUA_TFUNCTION) { - no_squeeze = TRUE; - } - lua_pop (L, 1); - - if (!no_squeeze) { - lua_pushstring (L, "no_squeeze"); - lua_gettable (L, -2); - - if (lua_toboolean (L, -1)) { - no_squeeze = TRUE; - } - lua_pop (L, 1); - } - id = rspamd_register_symbol_fromlua (L, cfg, name, @@ -2730,8 +2525,7 @@ lua_config_newindex (lua_State *L) priority, type, -1, - optional, - no_squeeze); + optional); if (id != -1) { /* Check for condition */ diff --git a/src/plugins/lua/settings.lua b/src/plugins/lua/settings.lua index 5c5d63c55..48dca67b9 100644 --- a/src/plugins/lua/settings.lua +++ b/src/plugins/lua/settings.lua @@ -24,7 +24,6 @@ end local rspamd_logger = require "rspamd_logger" local rspamd_maps = require "lua_maps" -local lua_squeeze = require "lua_squeeze_rules" local lua_util = require "lua_util" local rspamd_util = require "rspamd_util" local rspamd_ip = require "rspamd_ip" @@ -46,7 +45,6 @@ local selectors_cache = {} -- Used to speed up selectors in settings local function apply_settings(task, to_apply) task:set_settings(to_apply) task:cache_set('settings', to_apply) - lua_squeeze.handle_settings(task, to_apply) if to_apply['add_headers'] or to_apply['remove_headers'] then local rep = { |