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.
diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c
index 42fb920..4c16d90 100644
--- a/src/hlua_fcn.c
+++ b/src/hlua_fcn.c
@@ -1396,6 +1396,8 @@
/* 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 @@
/* 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 @@
/* 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);