summaryrefslogtreecommitdiffabout
path: root/src
authorMichael Krelin <hacker@klever.net>2006-11-08 14:16:31 (UTC)
committer Michael Krelin <hacker@klever.net>2006-11-08 14:16:31 (UTC)
commit4148b7ad68f2b5bf83d637bdc5ebbb9f0d2aa869 (patch) (side-by-side diff)
tree1816e76710d722b77ac99f8ca8719f0208b31088 /src
parentf3915982902595f324ef27dd67589f5e950a046b (diff)
downloaddudki-4148b7ad68f2b5bf83d637bdc5ebbb9f0d2aa869.zip
dudki-4148b7ad68f2b5bf83d637bdc5ebbb9f0d2aa869.tar.gz
dudki-4148b7ad68f2b5bf83d637bdc5ebbb9f0d2aa869.tar.bz2
fixed a bug for setting up unspecified group,
bumped version and years, added NEWS item
Diffstat (limited to 'src') (more/less context) (show whitespace changes)
-rw-r--r--src/process.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/process.cc b/src/process.cc
index 96c874f..6d3b2a2 100644
--- a/src/process.cc
+++ b/src/process.cc
@@ -92,19 +92,21 @@ void process::launch(const string& id,configuration& config) {
if(p<0)
throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to fork()");
if(!p) {
// child
try {
setsid();
+ if(!group.empty()) {
if(user.empty()) {
if((getgid()!=gid) && setgid(gid))
throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to setgid()");
}else{
if(initgroups(user.c_str(),gid))
throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to initgroups()");
}
+ }
if(!chroot.empty()) {
if(::chroot(chroot.c_str()))
throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to chroot()");
}
if(!user.empty()) {
if((getuid()!=uid) && setuid(uid))