Browse Source
Escape redis+selector
I believe it would be better to have the "redis+selector" pattern escaped as "redis%+selector". This would make it easier for string.find to match the documented map string.
pull/3840/head
foron
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
2 additions and
2 deletions
src/plugins/lua/multimap.lua
@ -1099,14 +1099,14 @@ local function add_multimap_rule(key, newrule)
ret = true
ret = true
end
end
elseif type ( newrule [ ' map ' ] ) == ' string ' and
elseif type ( newrule [ ' map ' ] ) == ' string ' and
string.find ( newrule [ ' map ' ] , ' ^redis+selector://.*$ ' ) then
string.find ( newrule [ ' map ' ] , ' ^redis% +selector://.*$ ' ) then
if not redis_params then
if not redis_params then
rspamd_logger.infox ( rspamd_config , ' no redis servers are specified, ' ..
rspamd_logger.infox ( rspamd_config , ' no redis servers are specified, ' ..
' cannot add redis map %s: %s ' , newrule [ ' symbol ' ] , newrule [ ' map ' ] )
' cannot add redis map %s: %s ' , newrule [ ' symbol ' ] , newrule [ ' map ' ] )
return nil
return nil
end
end
local selector_str = string.match ( newrule [ ' map ' ] , ' ^redis+selector://(.*)$ ' )
local selector_str = string.match ( newrule [ ' map ' ] , ' ^redis% +selector://(.*)$ ' )
local selector = lua_selectors.create_selector_closure (
local selector = lua_selectors.create_selector_closure (
rspamd_config , selector_str , newrule [ ' delimiter ' ] or " " )
rspamd_config , selector_str , newrule [ ' delimiter ' ] or " " )