commit 3c8ee16: [Project] Rspamadm: Do not alter signed parts

Vsevolod Stakhov vsevolod at highsecure.ru
Thu Dec 27 18:28:10 UTC 2018


Author: Vsevolod Stakhov
Date: 2018-12-17 16:52:59 +0000
URL: https://github.com/rspamd/rspamd/commit/3c8ee165440c1afb24ffa100b5787aa04cc284ea

[Project] Rspamadm: Do not alter signed parts

---
 lualib/rspamadm/mime.lua | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/lualib/rspamadm/mime.lua b/lualib/rspamadm/mime.lua
index daadbab98..07fc982a7 100644
--- a/lualib/rspamadm/mime.lua
+++ b/lualib/rspamadm/mime.lua
@@ -679,8 +679,6 @@ local function modify_handler(opts)
     for _,part in ipairs(task:get_parts()) do
       local boundary = part:get_boundary()
       if part:is_multipart() then
-        local _,st = part:get_type()
-
         if cur_boundary then
           io.write(string.format('--%s%s',
               boundaries[#boundaries], newline_s))
@@ -714,6 +712,17 @@ local function modify_handler(opts)
         io.write(newline_s)
       else
         local append_footer = false
+        local skip_footer = part:is_attachment()
+
+        local parent = part:get_parent()
+        if parent then
+          local t,st = parent:get_type()
+
+          if t == 'multipart' and st == 'signed' then
+            -- Do not modify signed parts
+            skip_footer = true
+          end
+        end
         if text_footer and part:is_text() then
           local tp = part:get_text()
 
@@ -744,7 +753,7 @@ local function modify_handler(opts)
 
         io.flush()
 
-        if append_footer then
+        if append_footer and not skip_footer then
           do_append_footer(task, part, append_footer)
         else
           part:get_raw_headers():save_in_file(1)


More information about the Commits mailing list