commit 3b02843: [Minor] Rbl: Final fixes to support surbl/emails modules options

Vsevolod Stakhov vsevolod at highsecure.ru
Mon Sep 2 15:56:09 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-09-02 16:54:38 +0100
URL: https://github.com/rspamd/rspamd/commit/3b02843db83d69c08eacf4010a5abd7fb674b835 (HEAD -> master)

[Minor] Rbl: Final fixes to support surbl/emails modules options

---
 src/plugins/lua/rbl.lua | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/plugins/lua/rbl.lua b/src/plugins/lua/rbl.lua
index ab1ba23e9..f2a53de78 100644
--- a/src/plugins/lua/rbl.lua
+++ b/src/plugins/lua/rbl.lua
@@ -760,7 +760,7 @@ local function gen_rbl_callback(rule)
   return callback_f,string.format('checks: %s', table.concat(description, ','))
 end
 
-local function add_rbl(key, rbl)
+local function add_rbl(key, rbl, global_opts)
   if not rbl.symbol then
     rbl.symbol = key:upper()
   end
@@ -822,6 +822,13 @@ local function add_rbl(key, rbl)
         'RBL whitelist for ' .. rbl.symbol)
   end
 
+  if not rbl.whitelist and global_opts.url_whitelist and
+      (rbl.urls or rbl.emails or rbl.dkim) then
+    local def_type = 'set'
+    rbl.whitelist = lua_maps.map_add_from_ucl(global_opts.url_whitelist, def_type,
+        'RBL url whitelist for ' .. rbl.symbol)
+  end
+
   local callback,description = gen_rbl_callback(rbl)
 
   if callback then
@@ -848,11 +855,14 @@ local function add_rbl(key, rbl)
     }
 
     local function process_return_code(s)
-      rspamd_config:register_symbol({
-        name = s,
-        parent = id,
-        type = 'virtual'
-      })
+      if s ~= rbl.symbol then
+        -- hack
+        rspamd_config:register_symbol({
+          name = s,
+          parent = id,
+          type = 'virtual'
+        })
+      end
 
       if rbl.is_whitelist then
         if rbl.whitelist_exception then
@@ -1010,7 +1020,7 @@ for key,rbl in pairs(opts.rbls or opts.rules) do
       rspamd_logger.errx(rspamd_config, 'invalid config for %s: %s, RBL is DISABLED',
           key, err)
     else
-      add_rbl(key, res)
+      add_rbl(key, res, opts)
     end
   end -- rbl.enabled
 end


More information about the Commits mailing list