]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Fix some cases of strong headers usage
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 12 Jul 2019 14:54:59 +0000 (15:54 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 12 Jul 2019 14:54:59 +0000 (15:54 +0100)
src/libmime/mime_headers.c
src/lua/lua_task.c
test/lua/unit/selectors.lua

index f9027b53dcbc0ef550b099a6095d1b0cf5bf6a6d..99936dd8cc7d6bbd9e746d2818f77958280be4c8 100644 (file)
@@ -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);
        }
 
index afe83c1a5ef204b807b373884fe0f9b97fd27f7f..1a4c8dc34672477a2c2f1ba664a32330da6e3507 100644 (file)
@@ -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;
index be77454e5e633851748be240595f8de81a70b67c..a9506fa3177d3d390bb36320d0e9f740c0255b4e 100644 (file)
@@ -62,7 +62,7 @@ context("Selectors test", function()
 
     ["digest"] = {
                 selector = "digest",
-                expect = {"c459a21bd1f33fb4ba035481f46ef0c7"}
+                expect = {"5b756ff185494c36f26c17a70b042f21"}
     },
 
     ["user"] = {