public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
Fix lua script sub-addressing (#7037)
* Fix lua script sub-addressing * Fix subject tagging in rspamd.local.lua as well --------- Co-authored-by: Hailer, Christian <[email protected]> Co-authored-by: DocFraggle <[email protected]>
5e478a32
data/conf/rspamd/lua/rspamd.local.lua | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
Diff
diff --git a/data/conf/rspamd/lua/rspamd.local.lua b/data/conf/rspamd/lua/rspamd.local.lua
index 503b41e6..313ba7e9 100644
--- a/data/conf/rspamd/lua/rspamd.local.lua
+++ b/data/conf/rspamd/lua/rspamd.local.lua
@@ -392,6 +392,7 @@ rspamd_config:register_symbol({
local rspamd_http = require "rspamd_http"
local rcpts = task:get_recipients('smtp')
local lua_util = require "lua_util"
+ local tagged_rcpt = task:get_symbol("TAGGED_RCPT")
local function remove_moo_tag()
local moo_tag_header = task:get_header('X-Moo-Tag', false)
@@ -416,12 +417,9 @@ rspamd_config:register_symbol({
-- Check if recipient has a tag (contains '+')
local tag = nil
- if rcpt_user:find('%+') then
- local base_user, tag_part = rcpt_user:match('^(.-)%+(.+)$')
- if base_user and tag_part then
- tag = tag_part
- rspamd_logger.infox("TAG_MOO: found tag in recipient: %s (base: %s, tag: %s)", rcpt_addr, base_user, tag)
- end
+ if tagged_rcpt ~= nil then
+ tag = tagged_rcpt
+ rspamd_logger.infox("TAG_MOO: found tag in recipient: %s (base: %s, tag: %s)", rcpt_addr, base_user, tag)
end
if not tag then
@@ -500,7 +498,8 @@ rspamd_config:register_symbol({
else
rspamd_logger.infox("TAG_MOO: user wants subject modified for tagged mail")
local sbj = task:get_header('Subject') or ''
- new_sbj = '=?UTF-8?B?' .. tostring(util.encode_base64('[' .. tag .. '] ' .. sbj)) .. '?='
+ local tag_value = tag[1] and tag[1].options and tag[1].options[1] or ''
+ new_sbj = '=?UTF-8?B?' .. tostring(util.encode_base64('[' .. tag_value .. '] ' .. sbj)) .. '?='
task:set_milter_reply({
remove_headers = {
['Subject'] = 1,
@@ -945,4 +944,4 @@ rspamd_config:register_symbol({
return true
end,
priority = 1
-})
\ No newline at end of file
+})