From 4c4ce6dc468b105e6e52edeb126a9f39f58fd92a Mon Sep 17 00:00:00 2001 From: Bernhard Frauendienst Date: Mon, 30 Apr 2018 14:34:51 +0200 Subject: [PATCH] Add optional status prefix to X-Virus header Adds two options to X-Virus milter header routine that prefix the header value with a configured string when a virus was found (or not). This is useful for sieve implementations (like pidgeonhole) that require a fixed value part to match against. --- src/plugins/lua/milter_headers.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/lua/milter_headers.lua b/src/plugins/lua/milter_headers.lua index 0eb92ff27..5e7fb21ed 100644 --- a/src/plugins/lua/milter_headers.lua +++ b/src/plugins/lua/milter_headers.lua @@ -71,6 +71,8 @@ local settings = { ['x-virus'] = { header = 'X-Virus', remove = 1, + status_clean = nil, + status_infected = nil, symbols = {}, -- needs config }, ['x-spamd-bar'] = { @@ -344,7 +346,13 @@ local function milter_headers(task) end end if #virii > 0 then - add_header('x-virus', table.concat(virii, ',')) + local virusstatus = table.concat(virii, ',') + if settings.routines['x-virus'].status_infected then + virusstatus = settings.routines['x-virus'].status_infected .. ', ' .. virusstatus + end + add_header('x-virus', virusstatus) + elseif settings.routines['x-virus'].status_clean then + add_header('x-virus', settings.routines['x-virus'].status_clean) end end -- 2.39.5