aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lualib/plugins/rbl.lua3
-rw-r--r--src/plugins/lua/rbl.lua6
2 files changed, 9 insertions, 0 deletions
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',