From: Vsevolod Stakhov Date: Thu, 17 Sep 2015 14:09:18 +0000 (+0100) Subject: Improve dkim domains validation for DMARC X-Git-Tag: 1.0.0~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=98c4b0460a1b67c2792a44e8e6ad6a8eedb1e347;p=thirdparty%2Frspamd.git Improve dkim domains validation for DMARC --- diff --git a/src/plugins/lua/dmarc.lua b/src/plugins/lua/dmarc.lua index 8ef702c8b4..25c540cf81 100644 --- a/src/plugins/lua/dmarc.lua +++ b/src/plugins/lua/dmarc.lua @@ -226,14 +226,16 @@ local function dmarc_callback(task) end end local das = task:get_symbol(symbols['dkim_allow_symbol']) - if das and das[1] and das[1]['options'] and das[1]['options'][0] then - if from[1]['domain'] == das[1]['options'][0] then - dkim_ok = true - elseif not strict_dkim then - if string.sub(das[1]['options'][0], - -string.len('.' .. lookup_domain)) - == '.' .. lookup_domain then + if das and das[1] and das[1]['options'] then + for i,dkim_domain in ipairs(das[1]['options']) do + if from[1]['domain'] == dkim_domain then dkim_ok = true + elseif not strict_dkim then + if string.sub(dkim_domain, + -string.len('.' .. lookup_domain)) + == '.' .. lookup_domain then + dkim_ok = true + end end end end