author | Michael Krelin <hacker@klever.net> | 2006-11-08 14:16:31 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2006-11-08 14:16:31 (UTC) |
commit | 4148b7ad68f2b5bf83d637bdc5ebbb9f0d2aa869 (patch) (side-by-side diff) | |
tree | 1816e76710d722b77ac99f8ca8719f0208b31088 /src | |
parent | f3915982902595f324ef27dd67589f5e950a046b (diff) | |
download | dudki-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
-rw-r--r-- | src/process.cc | 2 |
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)) |