From 82d5f013f96d38867985469bf47bd36ff199a256 Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Wed, 24 Nov 2021 16:14:24 +0100 Subject: [PATCH] BUG/MINOR: lua: don't expose internal proxies Since internal proxies are now in the global proxy list, they are now reachable from core.proxies, core.backends, core.frontends. This patch fixes the issue by checking the PR_CAP_INT flag before exposing them in lua, so the user can't have access to them. This patch must be backported in 2.5. --- src/hlua_fcn.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c index 42fb920f8..4c16d90a8 100644 --- a/src/hlua_fcn.c +++ b/src/hlua_fcn.c @@ -1396,6 +1396,8 @@ int hlua_fcn_post_init(lua_State *L) /* List all proxies. */ for (px = proxies_list; px; px = px->next) { + if (px->cap & PR_CAP_INT) + continue; lua_pushstring(L, px->id); hlua_fcn_new_proxy(L, px); lua_settable(L, -3); @@ -1410,7 +1412,7 @@ int hlua_fcn_post_init(lua_State *L) /* List all proxies. */ for (px = proxies_list; px; px = px->next) { - if (!(px->cap & PR_CAP_FE)) + if (!(px->cap & PR_CAP_FE) || (px->cap & PR_CAP_INT)) continue; lua_pushstring(L, px->id); hlua_fcn_new_proxy(L, px); @@ -1426,7 +1428,7 @@ int hlua_fcn_post_init(lua_State *L) /* List all proxies. */ for (px = proxies_list; px; px = px->next) { - if (!(px->cap & PR_CAP_BE)) + if (!(px->cap & PR_CAP_BE) || (px->cap & PR_CAP_INT)) continue; lua_pushstring(L, px->id); hlua_fcn_new_proxy(L, px);