]> source.dussan.org Git - rspamd.git/commitdiff
[Feature] Relax FORGED_RECIPIENTS 2488/head
authorAlexander Moisseev <moiseev@mezonplus.ru>
Sun, 16 Sep 2018 13:58:34 +0000 (16:58 +0300)
committerAlexander Moisseev <moiseev@mezonplus.ru>
Sun, 16 Sep 2018 14:01:50 +0000 (17:01 +0300)
allow alias expansion and forwarding (Postfix)

src/plugins/lua/forged_recipients.lua

index 782a408bd642ac4452aa0711c40d971ff8929166..25d6c8f8cb80194867e5398c1c743e9e9873cd1a 100644 (file)
@@ -28,6 +28,7 @@ local E = {}
 
 local function check_forged_headers(task)
   local auser = task:get_user()
+  local delivered_to = task:get_header('Delivered-To')
   local smtp_rcpt = task:get_recipients(1)
   local smtp_from = task:get_from(1)
   local res
@@ -43,7 +44,7 @@ local function check_forged_headers(task)
     task:insert_result(symbol_rcpt, score, '', sra)
     return
   end
-  -- Find pair for each smtp recipient recipient in To or Cc headers
+  -- Find pair for each smtp recipient in To or Cc headers
   for _,sr in ipairs(smtp_rcpt) do
     res = false
     for _,mr in ipairs(mime_rcpt) do
@@ -51,6 +52,10 @@ local function check_forged_headers(task)
         string.lower(mr['addr']) == string.lower(sr['addr']) then
         res = true
         break
+      elseif delivered_to and delivered_to == mr['addr'] then
+        -- allow alias expansion and forwarding (Postfix)
+        res = true
+        break
       elseif auser and auser == sr['addr'] then
         -- allow user to BCC themselves
         res = true