From 01872d6ac7a1ab4ad564b9b15b2620b2db72a2ae Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 13 Nov 2020 11:22:06 +0000 Subject: [PATCH] [Minor] Rbl: Allow to add dependencies for RBL rules --- lualib/plugins/rbl.lua | 3 +++ src/plugins/lua/rbl.lua | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/lualib/plugins/rbl.lua b/lualib/plugins/rbl.lua index 4eeff7b09..62f9ce9d8 100644 --- a/lualib/plugins/rbl.lua +++ b/lualib/plugins/rbl.lua @@ -113,6 +113,9 @@ local rule_schema_tbl = { received = ts.boolean:is_optional(), replyto = ts.boolean:is_optional(), requests_limit = (ts.integer + ts.string / tonumber):is_optional(), + require_symbols = ( + ts.array_of(ts.string) + (ts.string / function(s) return {s} end) + ):is_optional(), resolve_ip = ts.boolean:is_optional(), return_bits = return_bits_schema:is_optional(), return_codes = return_codes_schema:is_optional(), diff --git a/src/plugins/lua/rbl.lua b/src/plugins/lua/rbl.lua index 534a4855b..dabf259e2 100644 --- a/src/plugins/lua/rbl.lua +++ b/src/plugins/lua/rbl.lua @@ -1025,6 +1025,12 @@ local function add_rbl(key, rbl, global_opts) rspamd_config:register_dependency(rbl.symbol, 'DKIM_CHECK') end + if rbl.require_symbols then + for _,dep in ipairs(rbl.require_symbols) do + rspamd_config:register_dependency(rbl.symbol, dep) + end + end + -- Failure symbol rspamd_config:register_symbol{ type = 'virtual', -- 2.39.5