From 6015e0df8acd3150698f2b6e301941b73097bcc0 Mon Sep 17 00:00:00 2001 From: Roman Tsisyk <roman@tsisyk.com> Date: Mon, 10 Jul 2017 15:02:19 +0300 Subject: [PATCH] Fix logging of box.cfg.replication option Print original uri as is if it doesn't contain sensitive information. Closes #2292 --- src/box/lua/load_cfg.lua | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/box/lua/load_cfg.lua b/src/box/lua/load_cfg.lua index eb12632242..e9cd739f42 100644 --- a/src/box/lua/load_cfg.lua +++ b/src/box/lua/load_cfg.lua @@ -112,23 +112,31 @@ local modify_cfg = { replication = normalize_uri, } -local function purge_login_frourilib(uri) +local function purge_password_from_uri(uri) + local parsed = urilib.parse(uri) + if parsed ~= nil and parsed.password ~= nil then + return urilib.format(parsed, false) + end + return uri +end + +local function purge_password_from_uris(uri) if uri == nil then return nil end if type(uri) == 'table' then - local new_table = {} + local new_table = {} for k, v in pairs(uri) do - new_table[k] = urilib.format(urilib.parse(v), false) + new_table[k] = purge_password_from_uri(uri) end return new_table end - return urilib.format(urilib.parse(uri), false) + return purge_password_from_uri(uri) end -- options that require modification for logging local log_cfg_option = { - replication = purge_login_frourilib, + replication = purge_password_from_uris, } -- dynamically settable options -- GitLab