ソースを参照

[Fix] Fix aliases in forged recipients and limit number of iterations

tags/2.6
Vsevolod Stakhov 4年前
コミット
8c225e4eae
1個のファイルの変更9行の追加1行の削除
  1. 9
    1
      src/plugins/lua/forged_recipients.lua

+ 9
- 1
src/plugins/lua/forged_recipients.lua ファイルの表示



if not smtp_rcpt then return end if not smtp_rcpt then return end
if #smtp_rcpt == 0 then return end if #smtp_rcpt == 0 then return end
local mime_rcpt = task:get_recipients(2)

local mime_rcpt = task:get_recipients({'mime','orig'})

if not mime_rcpt then if not mime_rcpt then
return return
elseif #mime_rcpt == 0 then elseif #mime_rcpt == 0 then
return return
end end

-- Find pair for each smtp recipient in To or Cc headers -- Find pair for each smtp recipient in To or Cc headers
-- This cycle has O(N^2) complexity so it is better to limit number of iterations
if #smtp_rcpt > 100 or #mime_rcpt > 100 then
return
end

for _,sr in ipairs(smtp_rcpt) do for _,sr in ipairs(smtp_rcpt) do
res = false res = false
for _,mr in ipairs(mime_rcpt) do for _,mr in ipairs(mime_rcpt) do

読み込み中…
キャンセル
保存