From 5ba76f25279b71085eb9b633384f293cc98bf5db Mon Sep 17 00:00:00 2001 From: Andrew Lewis Date: Mon, 22 Aug 2016 14:47:18 +0200 Subject: [PATCH] [Fix] DMARC: Fix alignment checking for subdomains --- src/plugins/lua/dmarc.lua | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/plugins/lua/dmarc.lua b/src/plugins/lua/dmarc.lua index 74f395cf8..d9961956f 100644 --- a/src/plugins/lua/dmarc.lua +++ b/src/plugins/lua/dmarc.lua @@ -213,9 +213,8 @@ local function dmarc_callback(task) if rspamd_util.strequal_caseless(efrom[1]['domain'], from[1]['domain']) then spf_ok = true elseif not strict_spf then - if rspamd_util.strequal_caseless( - string.sub(efrom[1]['domain'], -string.len('.' .. lookup_domain)), - '.' .. lookup_domain) then + local spf_tld = rspamd_util.get_tld(efrom[1]['domain']) + if rspamd_util.strequal_caseless(spf_tld, dmarc_domain) then spf_ok = true end end @@ -227,9 +226,8 @@ local function dmarc_callback(task) if rspamd_util.strequal_caseless(from[1]['domain'], dkim_domain) then dkim_ok = true elseif not strict_dkim then - if rspamd_util.strequal_caseless( - string.sub(dkim_domain, -string.len('.' .. lookup_domain)), - '.' .. lookup_domain) then + local dkim_tld = rspamd_util.get_tld(dkim_domain) + if rspamd_util.strequal_caseless(dkim_tld, dmarc_domain) then dkim_ok = true end end -- 2.39.5