From: Vsevolod Stakhov Date: Sat, 19 May 2018 13:57:43 +0000 (+0100) Subject: [Feature] Use OSB to combine header names X-Git-Tag: 1.7.6~124 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b11098bc3e218d3e2e739ce114b0be322e65639a;p=rspamd.git [Feature] Use OSB to combine header names --- diff --git a/src/libstat/stat_process.c b/src/libstat/stat_process.c index aed9d383d..4f7f4e703 100644 --- a/src/libstat/stat_process.c +++ b/src/libstat/stat_process.c @@ -81,6 +81,7 @@ rspamd_stat_tokenize_parts_metadata (struct rspamd_stat_ctx *st_ctx, gchar tmpbuf[128]; lua_State *L = task->cfg->lua_state; const gchar *headers_hash; + struct rspamd_mime_header *hdr; ar = g_array_sized_new (FALSE, FALSE, sizeof (elt), 16); elt.flags = RSPAMD_STAT_TOKEN_FLAG_META; @@ -183,6 +184,19 @@ rspamd_stat_tokenize_parts_metadata (struct rspamd_stat_ctx *st_ctx, g_array_append_val (ar, elt); } + /* Use more precise headers order */ + cur = g_list_first (task->headers_order->head); + while (cur) { + hdr = cur->data; + + if (hdr->name && hdr->type != RSPAMD_HEADER_RECEIVED) { + elt.begin = hdr->name; + elt.len = strlen (hdr->name); + g_array_append_val (ar, elt); + } + + cur = g_list_next (cur); + } /* Use metatokens plugin from Lua */ lua_getglobal (L, "rspamd_plugins");