From 787024f7e16a9148e09701317e31be76bfd99b6f Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 25 Jul 2024 19:10:46 +0600 Subject: [PATCH] Merge pull request #4960 from JasonStephenson/bugfix/arc-regex-fix [FIX] Arc regex to no longer match on dmarc= --- src/plugins/lua/arc.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/plugins/lua/arc.lua b/src/plugins/lua/arc.lua index ff19aef4c..90e254e78 100644 --- a/src/plugins/lua/arc.lua +++ b/src/plugins/lua/arc.lua @@ -635,11 +635,21 @@ local function prepare_arc_selector(task, sel) end end + local function arc_result_from_ar(ar_header) + ar_header = ar_header or "" + for k, v in string.gmatch(ar_header, "(%w+)=(%w+)") do + if k == 'arc' then + return v + end + end + return nil + end + if settings.reuse_auth_results then local ar_header = task:get_header('Authentication-Results') if ar_header then - local arc_match = string.match(ar_header, 'arc=(%w+)') + local arc_match = arc_result_from_ar(ar_header) if arc_match then if arc_match == 'none' or arc_match == 'pass' then -- 2.39.5