]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Dmarc: Always lowercase domain
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 18 Oct 2021 09:49:53 +0000 (10:49 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 18 Oct 2021 09:49:53 +0000 (10:49 +0100)
Issue: #3940

src/plugins/lua/dmarc.lua

index ffc37ae3d7169dfe180842183e9b24e15b6f18f4..d5073377b257e0519dcb1646d31751731a27a4ff 100644 (file)
@@ -131,7 +131,7 @@ local function dmarc_validate_policy(task, policy, hdrfromdom, dmarc_esld)
 
     for _,opt in ipairs(opts) do
       local check_res = string.sub(opt, -1)
-      local domain = string.sub(opt, 1, -3)
+      local domain = string.sub(opt, 1, -3):lower()
 
       if check_res == '+' then
         table.insert(dkim_results.pass, domain)
@@ -357,6 +357,8 @@ local function dmarc_callback(task)
 
   -- Do some initial sanity checks, detect tld domain if different
   if hfromdom and hfromdom ~= '' and not (from or E)[2] then
+    -- Lowercase domain as per #3940
+    hfromdom = hfromdom:lower()
     dmarc_domain = rspamd_util.get_tld(hfromdom)
   elseif (from or E)[2] then
     task:insert_result(settings.symbols['na'], 1.0, 'Duplicate From header')