aboutsummaryrefslogtreecommitdiffstats
path: root/rules
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-03-16 18:23:31 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-03-16 18:23:31 +0000
commit9206ce91df6c796baf09b63963de7da668c25a63 (patch)
treec1836ebffd2a3c7fef340913f7c3f60c15f5d7e2 /rules
parent1192b3d84b5578e2231ec7fdba2a8d4cc794d9ea (diff)
downloadrspamd-9206ce91df6c796baf09b63963de7da668c25a63.tar.gz
rspamd-9206ce91df6c796baf09b63963de7da668c25a63.zip
[Fix] Fix URI_COUNT_ODD rule
Diffstat (limited to 'rules')
-rw-r--r--rules/misc.lua10
1 files changed, 7 insertions, 3 deletions
diff --git a/rules/misc.lua b/rules/misc.lua
index 2bba06e91..846da24d8 100644
--- a/rules/misc.lua
+++ b/rules/misc.lua
@@ -232,9 +232,13 @@ rspamd_config.URI_COUNT_ODD = {
callback = function (task)
local ct = task:get_header('Content-Type')
if (ct and ct:lower():find('^multipart/alternative')) then
- local urls = task:get_urls()
- if (urls and (#urls % 2 == 1)) then
- return true, 1.0, tostring(#urls % 2)
+ local urls = task:get_urls() or {}
+ local nurls = fun.filter(function(url)
+ return not url:is_html_displayed()
+ end, urls):foldl(function(acc, val) return acc + 1 end, 0)
+
+ if nurls % 2 == 1 then
+ return true, 1.0, tostring(nurls)
end
end
end,