From: Vsevolod Stakhov Date: Sun, 6 Nov 2022 21:37:50 +0000 (+0000) Subject: [Minor] Use upstreams for external maps X-Git-Tag: 3.5~204^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fbac436579ecd04fe3f943d6e04de72f0745e0e9;p=thirdparty%2Frspamd.git [Minor] Use upstreams for external maps --- diff --git a/lualib/lua_maps.lua b/lualib/lua_maps.lua index 5d55484b22..bbc7c1d9eb 100644 --- a/lualib/lua_maps.lua +++ b/lualib/lua_maps.lua @@ -307,14 +307,20 @@ local function rspamd_map_add_from_ucl(opt, mtype, description, callback) else if opt.external then -- External map definition, missing fields are handled by schema - local parse_err - ret.__data,parse_err = external_map_schema(opt) + local parse_res,parse_err = external_map_schema(opt) - if ret then - ret.__external = true - setmetatable(ret, ret_mt) + if parse_res then + ret.__upstreams = lua_util.http_upstreams_by_url(rspamd_config:get_mempool(), opt.backend) + if ret.__upstreams then + ret.__data = opt + ret.__external = true + setmetatable(ret, ret_mt) - return ret + return ret + else + rspamd_logger.errx(rspamd_config, 'cannot parse external map upstreams: %s', + opt.backend) + end else rspamd_logger.errx(rspamd_config, 'cannot parse external map: %s', parse_err)