]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] milter_headers: new option skip_all 3610/head
authorTobias Mädel <t.maedel@alfeld.de>
Mon, 18 Jan 2021 15:47:17 +0000 (16:47 +0100)
committerGitHub <noreply@github.com>
Mon, 18 Jan 2021 15:47:17 +0000 (16:47 +0100)
This PR introduces the new configuration option "skip_all" for milter_headers.
This config option will skip the addition of extended spam headers for every mail, except those with recipients listed in the extended_headers_rcpt map.

src/plugins/lua/milter_headers.lua

index e88d85b3da61f58008b414e167832d70ba3cb7ae..7dd590faaf557d9a0e5e81abc99f0452025306b8 100644 (file)
@@ -35,6 +35,7 @@ local settings = {
   remove_upstream_spam_flag = true;
   skip_local = true,
   skip_authenticated = true,
+  skip_all = false,
   local_headers = {},
   authenticated_headers = {},
   routines = {
@@ -157,6 +158,9 @@ local function milter_headers(task)
       return found
     end
 
+    if settings.extended_headers_rcpt and match_extended_headers_rcpt() then
+      return false
+    end
 
     if settings.skip_local and not settings.local_headers[hdr] then
       local ip = task:get_ip()
@@ -167,7 +171,7 @@ local function milter_headers(task)
       if task:get_user() ~= nil then return true end
     end
 
-    if settings.extended_headers_rcpt and not match_extended_headers_rcpt() then
+    if settings.skip_all then
       return true
     end
 
@@ -637,6 +641,10 @@ if type(opts['skip_authenticated']) == 'boolean' then
   settings.skip_authenticated = opts['skip_authenticated']
 end
 
+if type(opts['skip_all']) == 'boolean' then
+  settings.skip_all = opts['skip_all']
+end
+
 for _, s in ipairs(opts['use']) do
   if not have_routine[s] then
     activate_routine(s)