commit 42c4aa2: Use pattern to get all methodspecs + reasonspecs, and return the value of the arc one if present

Jason Stephenson jstephenson at mimecast.com
Mon Jul 29 17:59:46 UTC 2024


Author: Jason Stephenson
Date: 2024-07-23 16:12:28 +0100
URL: https://github.com/rspamd/rspamd/commit/42c4aa280f20aa66a7be5528da119a63fa0073d4

Use pattern to get all methodspecs + reasonspecs, and return the value of the arc one if present

---
 src/plugins/lua/arc.lua | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/plugins/lua/arc.lua b/src/plugins/lua/arc.lua
index 1533655d5..98f9303fa 100644
--- a/src/plugins/lua/arc.lua
+++ b/src/plugins/lua/arc.lua
@@ -635,11 +635,22 @@ 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


More information about the Commits mailing list