diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2011-02-16 17:00:13 +0300 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2011-02-16 17:00:13 +0300 |
commit | bbc68360a114fb5849c62d6bc41264c9906d7aca (patch) | |
tree | 37391f1210c38c3d72e49a4d9af0ebba1c9a9571 /src | |
parent | a1d1360ccbde0637045a1adc2098065550f0496b (diff) | |
download | rspamd-bbc68360a114fb5849c62d6bc41264c9906d7aca.tar.gz rspamd-bbc68360a114fb5849c62d6bc41264c9906d7aca.zip |
* Improve forged_recipients plugin [1]
Add loading of local rules to rspamd.lua [1]
[1] Suggested by Victor Ustugov
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/lua/forged_recipients.lua | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/plugins/lua/forged_recipients.lua b/src/plugins/lua/forged_recipients.lua index 6b6ec298b..d082b386d 100644 --- a/src/plugins/lua/forged_recipients.lua +++ b/src/plugins/lua/forged_recipients.lua @@ -31,7 +31,15 @@ function check_forged_headers(task) end if mime_rcpt then for _,mr in ipairs(mime_rcpt) do - if string.find(mr, sr) then + local i = string.find(mr, '<', 1, true) + if i then + local j = string.find(mr, '>', i, true) + if j then + mr = string.sub(mr, i+1, j-1) + end + end + + if string.lower(mr) == string.lower(sr) then res = true break end @@ -39,7 +47,14 @@ function check_forged_headers(task) end if mime_cc then for _,mr in ipairs(mime_cc) do - if string.find(mr, sr) then + local i = string.find(mr, '<', 1, true) + if i then + local j = string.find(mr, '>', i, true) + if j then + mr = string.sub(mr, i+1, j-1) + end + end + if string.lower(mr) == string.lower(sr) then res = true break end @@ -57,7 +72,14 @@ function check_forged_headers(task) local smtp_from = task:get_from() if smtp_form then local mime_from = msg:get_header('From') - if not mime_from or not string.find(mime_from[0], smtp_from) then + local i = string.find(mime_from[0], '<', 1, true) + if i then + local j = string.find(mime_from[0], '>', i, true) + if j then + mime_from[0] = string.sub(mime_from[0], i+1, j-1) + end + end + if not mime_from or not (string.lower(mime_from[0]) == string.lower(smtp_from)) then task:insert_result(symbol_sender, 1) end end |