summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/ServerI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2007-06-14 09:52:16 +0200
committerBenoit Foucher <benoit@zeroc.com>2007-06-14 09:52:16 +0200
commit9eb7e9ef9a63bd2472849fc66ea61ebe44ca57b8 (patch)
tree2728c06eeda0a387f377a99f27d70d48b7367d61 /cpp/src/IceGrid/ServerI.cpp
parenthttp://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2251. Fixed Dwayne's problem (diff)
downloadice-9eb7e9ef9a63bd2472849fc66ea61ebe44ca57b8.tar.bz2
ice-9eb7e9ef9a63bd2472849fc66ea61ebe44ca57b8.tar.xz
ice-9eb7e9ef9a63bd2472849fc66ea61ebe44ca57b8.zip
Fixed bug 2254
Diffstat (limited to 'cpp/src/IceGrid/ServerI.cpp')
-rw-r--r--cpp/src/IceGrid/ServerI.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp
index 3f8a54df064..27fd7396399 100644
--- a/cpp/src/IceGrid/ServerI.cpp
+++ b/cpp/src/IceGrid/ServerI.cpp
@@ -1934,10 +1934,12 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor)
throw "node has insufficient privileges to load server under user account `" + user + "'";
}
- if(pw->pw_uid == 0) // Don't allow running proccesses as "root"
- {
- throw "running server as `root' is not allowed";
- }
+
+ if(pw->pw_uid == 0 &&
+ _node->getCommunicator()->getProperties()->getPropertyAsInt("IceGrid.Node.AllowRunningServersAsRoot") == 0)
+ {
+ throw "running server as `root' is not allowed";
+ }
newUser = _uid != pw->pw_uid || _gid != pw->pw_gid;
_uid = pw->pw_uid;