From: Vsevolod Stakhov Date: Fri, 12 Jul 2019 14:54:59 +0000 (+0100) Subject: [Minor] Fix some cases of strong headers usage X-Git-Tag: 2.0~603^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8c6149a7678a5593daa5ffe96a2d22953c341b1;p=thirdparty%2Frspamd.git [Minor] Fix some cases of strong headers usage --- diff --git a/src/libmime/mime_headers.c b/src/libmime/mime_headers.c index f9027b53dc..99936dd8cc 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 afe83c1a5e..1a4c8dc346 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 be77454e5e..a9506fa317 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"] = {