commit fe9e238: [Feature] Rspamadm: Allow to rewrite headers in messages
Vsevolod Stakhov
vsevolod at highsecure.ru
Thu Dec 27 18:28:11 UTC 2018
Author: Vsevolod Stakhov
Date: 2018-12-18 15:51:27 +0000
URL: https://github.com/rspamd/rspamd/commit/fe9e2384c6099cb57408f8d74b52f839d9d6326e
[Feature] Rspamadm: Allow to rewrite headers in messages
---
lualib/rspamadm/mime.lua | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/lualib/rspamadm/mime.lua b/lualib/rspamadm/mime.lua
index 423a6910a..96bdfd72c 100644
--- a/lualib/rspamadm/mime.lua
+++ b/lualib/rspamadm/mime.lua
@@ -142,6 +142,10 @@ modify:option "-r --remove-header"
:description "Removes specific header (all occurrences)"
:argname "<header>"
:count "*"
+modify:option "-R --rewrite-header"
+ :description "Rewrites specific header, uses Lua string.format pattern"
+ :argname "<header=pattern>"
+ :count "*"
modify:option "-t --text-footer"
:description "Adds footer to text/plain parts from a specific file"
:argname "<file>"
@@ -670,6 +674,20 @@ local function modify_handler(opts)
end
end
+ for _,h in ipairs(opts['rewrite_header']) do
+ local hname,hpattern = h:match('^([^=]+)=(.+)$')
+ if hname == name then
+ local new_value = string.format(hpattern, hdr.decoded)
+ new_value = string.format('%s:%s%s%s',
+ name, hdr.separator,
+ rspamd_util.fold_header(name,
+ rspamd_util.mime_header_encode(new_value),
+ task:get_newlines_type()), newline_s)
+ io.write(new_value)
+ return
+ end
+ end
+
if need_rewrite_ct then
if name:lower() == 'content-type' then
local nct = string.format('%s: %s/%s; charset=utf-8%s',
More information about the Commits
mailing list