From 4e30ed73f4b902b076f765c3e2370ef0a034a648 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 4 Feb 2009 18:02:48 +0100 Subject: [PATCH] [BUG] inform the user when root is expected but not set When a plain user runs haproxy as non-root but some options require root, let's inform him. --- src/haproxy.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/haproxy.c b/src/haproxy.c index c6c102de6..dbb074d29 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1052,11 +1052,19 @@ int main(int argc, char **argv) if ((global.last_checks & LSTCHK_NETADM) && global.uid) { Alert("[%s.main()] Some configuration options require full privileges, so global.uid cannot be changed.\n" - "", argv[0], global.gid); + "", argv[0]); protocol_unbind_all(); exit(1); } + /* If the user is not root, we'll still let him try the configuration + * but we inform him that unexpected behaviour may occur. + */ + if ((global.last_checks & LSTCHK_NETADM) && getuid()) + Warning("[%s.main()] Some options which require full privileges" + " might not work well.\n" + "", argv[0]); + /* chroot if needed */ if (global.chroot != NULL) { if (chroot(global.chroot) == -1) {