From: Andrew Lewis Date: Mon, 13 Feb 2017 16:45:02 +0000 (+0200) Subject: [Minor] Filter artificial Received header in multimap by default X-Git-Tag: 1.5.0~107^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=28d3143551376428e17505ddbd43326662445734;p=rspamd.git [Minor] Filter artificial Received header in multimap by default - Also filter headers in CHECK_RECEIVED rule --- diff --git a/rules/misc.lua b/rules/misc.lua index d1bd8f9ca..e7dca4b04 100644 --- a/rules/misc.lua +++ b/rules/misc.lua @@ -17,6 +17,7 @@ limitations under the License. -- This is main lua config file for rspamd local E = {} +local fun = require "fun" local util = require "rspamd_util" local rspamd_regexp = require "rspamd_regexp" @@ -610,6 +611,9 @@ rspamd_config:set_metric_symbol('TO_MATCH_ENVRCPT_SOME', 0, 'Some of the recipie rspamd_config.CHECK_RECEIVED = { callback = function (task) local received = task:get_received_headers() + received = fun.filter(function(h) + return not h['artificial'] + end, received):totable() task:insert_result('RCVD_COUNT_' .. #received, 1.0) end } @@ -788,7 +792,6 @@ rspamd_config:register_dependency(freemail_reply_neq_from_id, 'FREEMAIL_FROM') rspamd_config.OMOGRAPH_URL = { callback = function(task) - local fun = require "fun" local urls = task:get_urls() if urls then diff --git a/src/plugins/lua/multimap.lua b/src/plugins/lua/multimap.lua index bdd9d3069..5afada789 100644 --- a/src/plugins/lua/multimap.lua +++ b/src/plugins/lua/multimap.lua @@ -712,6 +712,11 @@ local function multimap_callback(task, rule) received = function() local hdrs = task:get_received_headers() if hdrs and hdrs[1] then + if not rule['artificial'] then + hdrs = fun.filter(function(h) + return not h['artificial'] + end, hdrs):totable() + end for pos, h in ipairs(hdrs) do match_received_header(rule, pos, #hdrs, h) end