From: Vsevolod Stakhov Date: Wed, 15 Nov 2017 20:20:41 +0000 (+0000) Subject: [Minor] Merge new groups definitions X-Git-Tag: 1.7.0~435 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cb8e353d6d2d09afbd19d3a62afe63c3a5556d12;p=thirdparty%2Frspamd.git [Minor] Merge new groups definitions --- diff --git a/lualib/rspamd_config_transform.lua b/lualib/rspamd_config_transform.lua index 32ac2dcb67..f1eb2a6ac3 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