commit f824108: [Minor] Cloudmark scores_symbols: convert keys to numeric values

Andrew Lewis nerf at judo.za.org
Mon Jul 29 17:55:38 UTC 2024


Author: Andrew Lewis
Date: 2024-04-12 22:50:12 +0200
URL: https://github.com/rspamd/rspamd/commit/f824108f9ea930d46dff216dcd5ecb1a7bf1c6b6 (refs/pull/4924/head)

[Minor] Cloudmark scores_symbols: convert keys to numeric values

---
 lualib/lua_scanners/cloudmark.lua | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/lualib/lua_scanners/cloudmark.lua b/lualib/lua_scanners/cloudmark.lua
index 3768668bb..cb55a3bbf 100644
--- a/lualib/lua_scanners/cloudmark.lua
+++ b/lualib/lua_scanners/cloudmark.lua
@@ -89,6 +89,20 @@ local function cloudmark_preload(rule, cfg, ev_base, _)
   })
 end
 
+local function numerify(d)
+  local l = {}
+  for k in pairs(d) do
+    table.insert(l, k)
+  end
+  for _, k in ipairs(l) do
+    local new_key = tonumber(k)
+    if new_key then
+      d[new_key] = d[k]
+      d[k] = nil
+    end
+  end
+end
+
 local function cloudmark_config(opts)
 
   local cloudmark_conf = {
@@ -116,6 +130,10 @@ local function cloudmark_config(opts)
 
   cloudmark_conf = lua_util.override_defaults(cloudmark_conf, opts)
 
+  if type(cloudmark_conf.scores_symbols) == 'table' then
+    numerify(cloudmark_conf.scores_symbols)
+  end
+
   if not cloudmark_conf.prefix then
     cloudmark_conf.prefix = 'rs_' .. cloudmark_conf.name .. '_'
   end


More information about the Commits mailing list