commit 0dc617c: [Minor] Lua_mime: Allow to add headers in specific order

Vsevolod Stakhov vsevolod at highsecure.ru
Thu Oct 7 08:56:04 UTC 2021


Author: Vsevolod Stakhov
Date: 2021-10-07 09:45:03 +0100
URL: https://github.com/rspamd/rspamd/commit/0dc617cb0eab563e9b248b3b7d029b56dbf517d6

[Minor] Lua_mime: Allow to add headers in specific order

---
 lualib/lua_mime.lua | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/lualib/lua_mime.lua b/lualib/lua_mime.lua
index 72190b19e..ad38d3c32 100644
--- a/lualib/lua_mime.lua
+++ b/lualib/lua_mime.lua
@@ -519,7 +519,8 @@ exports.modify_headers = function(task, hdr_alterations)
   local remove = hdr_alterations.remove or {}
 
   local hdr_flattened = {} -- For C API
-  for hname,hdr in pairs(add) do
+
+  local function flatten_add_header(hname, hdr)
     if not hdr_flattened[hname] then
       hdr_flattened[hname] = {add = {}}
     end
@@ -532,6 +533,17 @@ exports.modify_headers = function(task, hdr_alterations)
       end
     end
   end
+  if hdr_alterations.order then
+    -- Get headers alterations ordered
+    for _,hname in ipairs(hdr_alterations.order) do
+      flatten_add_header(hname, add[hname])
+    end
+  else
+    for hname,hdr in pairs(add) do
+      flatten_add_header(hname, hdr)
+    end
+  end
+
 
   for hname,hdr in pairs(remove) do
     if not hdr_flattened[hname] then


More information about the Commits mailing list