Browse Source

[Rules] Add raw addresses to MULTIPLE_FROM options

It is confusing to have MULTIPLE_FROM with a single address in options,
which happens if one of addresses is empty - usually because of
misplaces <>.  While here simplify condition.
tags/3.0
Anton Yuzhaninov 3 years ago
parent
commit
8a5448883e
2 changed files with 3 additions and 10 deletions
  1. 2
    9
      rules/headers_checks.lua
  2. 1
    1
      test/functional/cases/280_rules.robot

+ 2
- 9
rules/headers_checks.lua View File

@@ -576,15 +576,8 @@ rspamd_config.MISSING_FROM = {
rspamd_config.MULTIPLE_FROM = {
callback = function(task)
local from = task:get_from('mime')
if from and from[1] then
if #from > 1 then
return true,1.0,table.concat(
fun.totable(
fun.map(function(a) return a.addr end,
fun.filter(function(a) return a.addr and a.addr ~= '' end,
from))),
',')
end
if from and from[2] then
return true, 1.0, fun.totable(fun.map(function(a) return a.raw end, from))
end
return false
end,

+ 1
- 1
test/functional/cases/280_rules.robot View File

@@ -86,7 +86,7 @@ FROM_NEQ_ENVFROM

PHISH_SENDER_A
Scan File ${TESTDIR}/messages/phish_sender.eml
Expect Symbol With Score And Exact Options MULTIPLE_FROM 9.0 any@attack.com,admin@legitimate.com
Expect Symbol With Score And Exact Options MULTIPLE_FROM 9.0 <any@attack.com> <admin@legitimate.com>
Expect Symbol With Score And Exact Options MULTIPLE_UNIQUE_HEADERS 7.0 From

PHISH_SENDER_B

Loading…
Cancel
Save