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 | |
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-- | COPYING | 2 | ||||
-rw-r--r-- | NEWS.xml | 3 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/process.cc | 14 |
4 files changed, 13 insertions, 8 deletions
@@ -1,5 +1,5 @@ -Copyright (c) 2004 Klever Group (http://www.klever.net/) +Copyright (c) 2004-2006 Klever Group (http://www.klever.net/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to @@ -1,6 +1,9 @@ <?xml version="1.0" encoding="us-ascii"?> <news> + <version version="0.2.2" date="November 8th, 2006"> + <ni>Do not try to set unspecified group</ni> + </version> <version version="0.2.1" date="August 1st, 2004"> <ni>do not act -e when doing -r</ni> <ni>proper handling of <kbd>ProcessName</kbd> on <kbd>FreeBSD</kbd></ni> </version> diff --git a/configure.ac b/configure.ac index eed8e97..a0e01e4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT([dudki], [0.2.1], [dudki-bugs@klever.net]) +AC_INIT([dudki], [0.2.2], [dudki-bugs@klever.net]) AC_CONFIG_SRCDIR([src/dudki.cc]) AC_CONFIG_HEADER([config.h]) AM_INIT_AUTOMAKE([dist-bzip2]) diff --git a/src/process.cc b/src/process.cc index 96c874f..6d3b2a2 100644 --- a/src/process.cc +++ b/src/process.cc @@ -94,14 +94,16 @@ void process::launch(const string& id,configuration& config) { if(!p) { // child try { setsid(); - 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(!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()"); |