From 8345b82e191b77b3f664cd77948e05ee530715bc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Peters?= Date: Tue, 6 Jun 2017 08:42:10 +0200 Subject: [PATCH] Add ability to skip local and/or authenticated Default behavior remains. --- src/plugins/lua/milter_headers.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/plugins/lua/milter_headers.lua b/src/plugins/lua/milter_headers.lua index 7447cd208..6ad7957a4 100644 --- a/src/plugins/lua/milter_headers.lua +++ b/src/plugins/lua/milter_headers.lua @@ -29,6 +29,8 @@ local E = {} local HOSTNAME = util.get_hostname() local settings = { + skip_local = false, + skip_authenticated = false, routines = { ['x-spamd-result'] = { header = 'X-Spamd-Result', @@ -105,6 +107,15 @@ local custom_routines = {} local function milter_headers(task) + if settings.skip_local then + local ip = task:get_ip() + if (ip and ip:is_local()) then return end + end + + if settings.skip_authenticated then + if task:get_user() ~= nil then return end + end + local routines, common, add, remove = {}, {}, {}, {} routines['x-spamd-result'] = function() @@ -352,6 +363,12 @@ if opts['extended_spam_headers'] then activate_routine('x-rspamd-server') activate_routine('x-rspamd-queue-id') end +if opts['skip_local'] then + settings.skip_local = true +end +if opts['skip_authenticated'] then + settings.skip_authenticated = true +end for _, s in ipairs(opts['use']) do if not have_routine[s] then activate_routine(s) -- 2.39.5