From: Andrew Lewis Date: Thu, 15 Jun 2017 14:12:23 +0000 (+0200) Subject: [Feature] Support suppressing DMARC reports for some domains X-Git-Tag: 1.6.2~109 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=41ac6b23235a61532b04340dd651c1659fb4066b;p=rspamd.git [Feature] Support suppressing DMARC reports for some domains --- diff --git a/src/plugins/lua/dmarc.lua b/src/plugins/lua/dmarc.lua index 04382c00b..72a04866e 100644 --- a/src/plugins/lua/dmarc.lua +++ b/src/plugins/lua/dmarc.lua @@ -33,6 +33,7 @@ end local N = 'dmarc' local no_sampling_domains +local no_reporting_domains local statefile = string.format('%s/%s', rspamd_paths['DBDIR'], 'dmarc_reports_last_sent') local VAR_NAME = 'dmarc_reports_last_sent' local INTERVAL = 86400 @@ -515,6 +516,13 @@ local function dmarc_callback(task) if rua and redis_params and dmarc_reporting then + if no_reporting_domains then + if no_reporting_domains:get_key(dmarc_domain) or no_reporting_domains:get_key(rspamd_util.get_tld(dmarc_domain)) then + rspamd_logger.infox(task, 'DMARC reporting suppressed for %1', dmarc_domain) + return maybe_force_action(disposition) + end + end + local spf_result if spf_ok then spf_result = 'pass' @@ -597,6 +605,7 @@ if not opts or type(opts) ~= 'table' then return end no_sampling_domains = rspamd_map_add(N, 'no_sampling_domains', 'map', 'Domains not to apply DMARC sampling to') +no_reporting_domains = rspamd_map_add(N, 'no_reporting_domains', 'map', 'Domains not to apply DMARC reporting to') if opts['symbols'] then for k,_ in pairs(dmarc_symbols) do