From: Vsevolod Stakhov Date: Sat, 18 May 2019 13:36:10 +0000 (+0100) Subject: [Minor] Implement generic whitelist in reputation plugin X-Git-Tag: 2.0~886 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=77e594517c2966657efc7f9cf47e07062f0d47eb;p=thirdparty%2Frspamd.git [Minor] Implement generic whitelist in reputation plugin --- diff --git a/src/plugins/lua/reputation.lua b/src/plugins/lua/reputation.lua index 06fda45a67..5487020c1e 100644 --- a/src/plugins/lua/reputation.lua +++ b/src/plugins/lua/reputation.lua @@ -27,6 +27,7 @@ local rspamd_logger = require "rspamd_logger" local rspamd_util = require "rspamd_util" local lua_util = require "lua_util" local lua_maps = require "lua_maps" +local lua_maps_exprs = require "lua_maps_expressions" local hash = require 'rspamd_cryptobox_hash' local lua_redis = require "lua_redis" local fun = require "fun" @@ -1022,8 +1023,8 @@ local function is_rule_applicable(task, rule) end end - if rule.selector.config.whitelisted_ip_map then - if rule.config.whitelisted_ip_map:get_key(ip) then + if rule.config.whitelist_map then + if rule.config.whitelist_map:process(task) then return false end end @@ -1114,10 +1115,9 @@ local function parse_rule(name, tbl) tbl.backend = nil rule.config = lua_util.override_defaults(rule.config, tbl) - if rule.config.whitelisted_ip then - rule.config.whitelisted_ip_map = lua_maps.rspamd_map_add_from_ucl(rule.whitelisted_ip, - 'radix', - 'Reputation whitelist for ' .. name) + if rule.config.whitelist then + rule.config.whitelist_map = lua_maps_exprs.create(rspamd_config, + rule.config.whitelist, N) end local symbol = name