Browse Source

[Minor] Combine Date checks

Combine Date header checks into a single callback. No functional
changes.
tags/2.7
Anton Yuzhaninov 3 years ago
parent
commit
967a9a4de3
1 changed files with 37 additions and 32 deletions
  1. 37
    32
      rules/misc.lua

+ 37
- 32
rules/misc.lua View File

@@ -55,51 +55,56 @@ rspamd_config.R_PARTS_DIFFER = {
}

-- Date issues
rspamd_config.MISSING_DATE = {
local date_id = rspamd_config:register_symbol({
name = 'DATE_CB',
type = 'callback,mime',
callback = function(task)
local date = task:get_header_raw('Date')
if date == nil or date == '' then
return true
local date_time = task:get_header('Date')
if date_time == nil or date_time == '' then
task:insert_result('MISSING_DATE', 1.0)
return
end
return false
end,

local dm = task:get_date({format = 'message', gmt = true})
local dt = task:get_date({format = 'connect', gmt = true})

if dm > 0 and dm - dt > 7200 then
-- 2 hours
task:insert_result('DATE_IN_FUTURE', 1.0)
return
elseif dm > 0 and dt - dm > 86400 then
-- A day
task:insert_result('DATE_IN_PAST', 1.0)
end
end
})

rspamd_config:register_symbol({
name = 'MISSING_DATE',
score = 1.0,
description = 'Message date is missing',
group = 'headers',
type = 'mime',
}
type = 'virtual',
parent = date_id,
})

rspamd_config.DATE_IN_FUTURE = {
callback = function(task)
local dm = task:get_date{format = 'message', gmt = true}
local dt = task:get_date{format = 'connect', gmt = true}
-- 2 hours
if dm > 0 and dm - dt > 7200 then
return true
end
return false
end,
rspamd_config:register_symbol({
name = 'DATE_IN_FUTURE',
score = 4.0,
description = 'Message date is in future',
group = 'headers',
type = 'mime',
}
type = 'virtual',
parent = date_id,
})

rspamd_config.DATE_IN_PAST = {
callback = function(task)
local dm = task:get_date{format = 'message', gmt = true}
local dt = task:get_date{format = 'connect', gmt = true}
-- A day
if dm > 0 and dt - dm > 86400 then
return true
end
return false
end,
rspamd_config:register_symbol({
name = 'DATE_IN_PAST',
score = 1.0,
description = 'Message date is in past',
group = 'headers',
type = 'mime',
}
type = 'virtual',
parent = date_id,
})

local obscured_id = rspamd_config:register_symbol{
callback = function(task)

Loading…
Cancel
Save