commit d497964: [Fix] Empty envelopes should not be emitted as arrays (json+messagepack) when populated envelopes are objects. This greatly complicates decoding in strictly typed languages.
Jason Stephenson
j.stephenson at live.co.uk
Fri Jul 15 21:35:03 UTC 2022
Author: Jason Stephenson
Date: 2022-07-15 16:10:45 +0100
URL: https://github.com/rspamd/rspamd/commit/d4979648e9b052f87bc408e3c45b649a6bb54389
[Fix] Empty envelopes should not be emitted as arrays (json+messagepack) when populated envelopes are objects. This greatly complicates decoding in strictly typed languages.
---
lualib/lua_mime.lua | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lualib/lua_mime.lua b/lualib/lua_mime.lua
index 4f8450964..575e9152c 100644
--- a/lualib/lua_mime.lua
+++ b/lualib/lua_mime.lua
@@ -596,7 +596,8 @@ exports.message_to_ucl = function(task, stringify_content)
return nil
end
- -- Envelope (smtp) information form email
+
+ -- Envelope (smtp) information from email (nil if empty)
result.envelope = {
from_smtp = (task:get_from('smtp') or E)[1],
recipients_smtp = task:get_recipients('smtp'),
@@ -605,6 +606,9 @@ exports.message_to_ucl = function(task, stringify_content)
client_ip = maybe_stringify_ip(task:get_client_ip()),
from_ip = maybe_stringify_ip(task:get_from_ip()),
}
+ if not next(result.envelope) then
+ result.envelope = nil
+ end
local parts = task:get_parts() or E
result.parts = {}
More information about the Commits
mailing list