aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-12-11 19:43:10 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-12-11 19:43:10 +0000
commit45d897b7baf8671da3618750ae91e3b17cc91be9 (patch)
tree572f716295dc5fca6a3a168801ab06d08482c040 /src
parent48d2275ed0753761aee2ae16e105b388e16198e3 (diff)
downloadrspamd-45d897b7baf8671da3618750ae91e3b17cc91be9.tar.gz
rspamd-45d897b7baf8671da3618750ae91e3b17cc91be9.zip
[Fix] Settings: Fix selectors usage
Diffstat (limited to 'src')
-rw-r--r--src/plugins/lua/settings.lua34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/plugins/lua/settings.lua b/src/plugins/lua/settings.lua
index 970062d3b..7ad85d184 100644
--- a/src/plugins/lua/settings.lua
+++ b/src/plugins/lua/settings.lua
@@ -316,22 +316,8 @@ local function check_settings(task)
end
end
- if rule['selector'] then
- local sel = selectors_cache[rule_name]
- if not sel then
- sel = lua_selectors.create_selector_closure(rspamd_config, rule.selector,
- rule.delimiter or "")
-
- if sel then
- selectors_cache[rule_name] = sel
- end
- end
-
- if sel then
- if sel(task) then
- res = true
- end
- end
+ if rule.selector then
+ res = rule.selector(task)
end
if res then
@@ -602,6 +588,22 @@ local function process_settings_table(tbl)
end
end
+ if elt['selector'] then
+ local sel = selectors_cache[name]
+ if not sel then
+ sel = lua_selectors.create_selector_closure(rspamd_config, elt.selector,
+ elt.delimiter or "")
+
+ if sel then
+ selectors_cache[name] = sel
+ end
+ end
+
+ if sel then
+ out['selector'] = sel
+ end
+ end
+
-- Now we must process actions
if elt['symbols'] then out['symbols'] = elt['symbols'] end
if elt['id'] then