From cb8e353d6d2d09afbd19d3a62afe63c3a5556d12 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 15 Nov 2017 20:20:41 +0000 Subject: [PATCH] [Minor] Merge new groups definitions --- lualib/rspamd_config_transform.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lualib/rspamd_config_transform.lua b/lualib/rspamd_config_transform.lua index 32ac2dcb6..f1eb2a6ac 100644 --- a/lualib/rspamd_config_transform.lua +++ b/lualib/rspamd_config_transform.lua @@ -212,6 +212,23 @@ local function convert_metric(cfg, metric) return cfg end +-- Converts a table of groups indexed by number (implicit array) to a +-- merged group definition +local function merge_groups(groups) + local ret = {} + for k,gr in pairs(groups) do + if type(k) == 'number' then + for key,sec in pairs(gr) do + ret[key] = sec + end + else + ret[k] = gr + end + end + + return ret +end + return function(cfg) local ret = false @@ -229,6 +246,11 @@ return function(cfg) if not cfg.group then logger.errx('no symbol groups defined') else + if cfg.group[1] then + -- We need to merge groups + cfg.group = merge_groups(cfg.group) + ret = true + end test_groups(cfg.group) end -- 2.39.5