From: Andrew Lewis Date: Mon, 20 Mar 2017 11:58:39 +0000 (+0200) Subject: [Minor] DMARC: Add descriptive errors; properly handle empty domain X-Git-Tag: 1.5.4~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85ff1ff9c1e30329a67c37bfa337a42e449f72fd;p=thirdparty%2Frspamd.git [Minor] DMARC: Add descriptive errors; properly handle empty domain --- diff --git a/src/plugins/lua/dmarc.lua b/src/plugins/lua/dmarc.lua index eddb93d769..4fe7f93cca 100644 --- a/src/plugins/lua/dmarc.lua +++ b/src/plugins/lua/dmarc.lua @@ -101,8 +101,14 @@ local function dmarc_callback(task) rspamd_logger.infox(task, "skip DMARC checks for local networks and authorized users"); return end - if ((from or E)[1] or E).domain and not (from or E)[2] then + if ((from or E)[1] or E).domain and ((from or E)[1] or E).domain ~= '' and not (from or E)[2] then dmarc_domain = rspamd_util.get_tld(from[1]['domain']) + elseif (from or E)[2] then + task:insert_result(dmarc_symbols['na'], 1.0, 'Duplicate From header') + return maybe_force_action('na') + elseif (from or E)[1] then + task:insert_result(dmarc_symbols['na'], 1.0, 'No domain in From header') + return maybe_force_action('na') else task:insert_result(dmarc_symbols['na'], 1.0, 'No From header') return maybe_force_action('na')