commit b8c6149: [Minor] Fix some cases of strong headers usage

Vsevolod Stakhov vsevolod at highsecure.ru
Fri Jul 12 16:42:35 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-07-12 15:54:59 +0100
URL: https://github.com/rspamd/rspamd/commit/b8c6149a7678a5593daa5ffe96a2d22953c341b1

[Minor] Fix some cases of strong headers usage

---
 src/libmime/mime_headers.c  | 2 ++
 src/lua/lua_task.c          | 9 ++++++++-
 test/lua/unit/selectors.lua | 2 +-
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/libmime/mime_headers.c b/src/libmime/mime_headers.c
index f9027b53d..99936dd8c 100644
--- a/src/libmime/mime_headers.c
+++ b/src/libmime/mime_headers.c
@@ -161,6 +161,8 @@ rspamd_mime_header_add (struct rspamd_task *task,
 	}
 	else {
 		kh_value (target, k) = rh;
+		rh->prev = rh;
+		rh->next = NULL;
 		msg_debug_task ("add new raw header %s: %s", rh->name, rh->value);
 	}
 
diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c
index afe83c1a5..1a4c8dc34 100644
--- a/src/lua/lua_task.c
+++ b/src/lua/lua_task.c
@@ -2450,7 +2450,14 @@ rspamd_lua_push_header_array (lua_State *L,
 		lua_pushinteger (L, i);
 	}
 	else {
-		return rspamd_lua_push_header (L, rh, how);
+		DL_FOREACH (rh, cur) {
+			if (!strong || strcmp (name, cur->name) == 0) {
+				return rspamd_lua_push_header (L, cur, how);
+			}
+		}
+
+		/* Not found with this case */
+		lua_pushnil (L);
 	}
 
 	return 1;
diff --git a/test/lua/unit/selectors.lua b/test/lua/unit/selectors.lua
index be77454e5..a9506fa31 100644
--- a/test/lua/unit/selectors.lua
+++ b/test/lua/unit/selectors.lua
@@ -62,7 +62,7 @@ context("Selectors test", function()
 
     ["digest"] = {
                 selector = "digest",
-                expect = {"c459a21bd1f33fb4ba035481f46ef0c7"}
+                expect = {"5b756ff185494c36f26c17a70b042f21"}
     },
 
     ["user"] = {


More information about the Commits mailing list