diff options
author | Andrew Lewis <nerf@judo.za.org> | 2024-04-12 22:50:12 +0200 |
---|---|---|
committer | Andrew Lewis <nerf@judo.za.org> | 2024-04-12 22:50:12 +0200 |
commit | f824108f9ea930d46dff216dcd5ecb1a7bf1c6b6 (patch) | |
tree | 3f2ea213f8076c5b45fafa68918fda7f2fd2569a /lualib/lua_scanners | |
parent | 48583c49818cbd06b977c9fc1b23949699f364d1 (diff) | |
download | rspamd-f824108f9ea930d46dff216dcd5ecb1a7bf1c6b6.tar.gz rspamd-f824108f9ea930d46dff216dcd5ecb1a7bf1c6b6.zip |
[Minor] Cloudmark scores_symbols: convert keys to numeric values
Diffstat (limited to 'lualib/lua_scanners')
-rw-r--r-- | lualib/lua_scanners/cloudmark.lua | 18 |
1 files changed, 18 insertions, 0 deletions
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 |