From 98c4b0460a1b67c2792a44e8e6ad6a8eedb1e347 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 17 Sep 2015 15:09:18 +0100 Subject: Improve dkim domains validation for DMARC --- src/plugins/lua/dmarc.lua | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/plugins/lua/dmarc.lua b/src/plugins/lua/dmarc.lua index 8ef702c8b..25c540cf8 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 -- cgit v1.2.3