mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-04 18:39:37 +00:00
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.
This commit is contained in:
parent
f03b53c81d
commit
82d5f013f9
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user