From: Vsevolod Stakhov Date: Thu, 14 Apr 2022 19:42:42 +0000 (+0100) Subject: [Fix] Add more sanity checks for rua in dmarc_report X-Git-Tag: 3.3~314 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bf943d3694f4c4a33765db3f24940d769747c85c;p=thirdparty%2Frspamd.git [Fix] Add more sanity checks for rua in dmarc_report Issue: #4148 --- diff --git a/lualib/rspamadm/dmarc_report.lua b/lualib/rspamadm/dmarc_report.lua index 41b463a807..c87a2c00e4 100644 --- a/lualib/rspamadm/dmarc_report.lua +++ b/lualib/rspamadm/dmarc_report.lua @@ -293,7 +293,7 @@ local function process_rua(dmarc_domain, rua) local addrs = {} for _,a in ipairs(parts) do local u = rspamd_url.create(pool, a:gsub('!%d+[kmg]?$', '')) - if u then + if u and (u:get_protocol() or '') == 'mailto' and u:get_user() then -- Check each address for sanity if dmarc_domain == u:get_tld() or dmarc_domain == u:get_host() then -- Same domain - always include @@ -328,6 +328,8 @@ local function process_rua(dmarc_domain, rua) end end end + else + logger.errx('invalid rua url: "%s""', tostring(u or 'null')) end end