end
end,
selector = function()
- local elts = lua_selectors.process_selectors(task, rule.selector) or {}
- for _,elt in ipairs(elts) do
- match_rule(rule, elt)
+ local elts = rule.selector(task)
+
+ if type(elts) == 'table' then
+ for _,elt in ipairs(elts) do
+ match_rule(rule, elt)
+ end
+ else
+ match_rule(rule, elts)
end
end,
}
+
process_rule_funcs.ip = process_rule_funcs.dnsbl
local f = process_rule_funcs[rt]
if f then
rspamd_logger.errx(rspamd_config, 'selector map requires selector definition')
return nil
else
- local selector = lua_selectors.parse_selector(rspamd_config, newrule['selector'])
+ local selector = lua_selectors.create_selector_closure(
+ rspamd_config, newrule['selector'], newrule['delimiter'] or "")
if not selector then
rspamd_logger.errx(rspamd_config, 'selector map has invalid selector: "%s", symbol: %s',