]> source.dussan.org Git - rspamd.git/commitdiff
[Feature] Vadesecure: Implement settings_outbound feature as recommended by Vade
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 18 Dec 2020 16:12:30 +0000 (16:12 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 18 Dec 2020 16:12:30 +0000 (16:12 +0000)
lualib/lua_scanners/vadesecure.lua

index 238120286b6b384485345277cf661b8df14f54c0..cbad42d4fe4e420147a825f2d8fc21e130e3abf9 100644 (file)
@@ -46,6 +46,7 @@ local function vade_config(opts)
     log_spamcause = true,
     symbol_fail = 'VADE_FAIL',
     symbol = 'VADE_CHECK',
+    settings_outbound = nil, -- Set when there is a settings id for outbound messages
     symbols = {
       clean = {
         symbol = 'VADE_CLEAN',
@@ -195,6 +196,26 @@ local function vade_check(task, content, digest, rule)
       hdrs['X-Inet'] = tostring(fip)
     end
 
+    if rule.settings_outbound then
+      local settings_id = task:get_settings_id()
+
+      if settings_id then
+        local lua_settings = require "lua_settings"
+        -- Convert to string
+        settings_id = lua_settings.settings_by_id(settings_id)
+
+        if settings_id then
+          settings_id = settings_id.name or ''
+
+          if settings_id == rule.settings_outbound then
+            lua_util.debugm(rule.name, task, '%s settings has matched outbound',
+                settings_id)
+            hdrs['X-Params'] = 'mode=smtpout'
+          end
+        end
+      end
+    end
+
     local request_data = {
       task = task,
       url = url,