-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()"); |