repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 41f75b69740bd205864bd34afbb65ab0a3776136:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 41f75b69740bd205864bd34afbb65ab0a3776136
Author: Alexander Barton 
Date:   Tue Aug 27 00:39:59 2013 +0200

    Ignore "operation not permitted" while dropping groups

    Without this exception, you can't start ngIRCd as user any more,
    it is analog to setting the user and group ID.

diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c
index 4099719b8ebe703e66960c97ae999df1f3274043..
index ..e26ac3bd652cf18b2067b4c47e1eb0ad7172ee72 100644
--- a/src/ngircd/ngircd.c
+++ b/src/ngircd/ngircd.c
@@ -725,9 +725,11 @@ NGIRCd_Init(bool NGIRCd_NoDaemon)
 				goto out;
 		}
 		if (setgroups(0, NULL) != 0) {
-			Log(LOG_ERR, "Can't drop supplementary group ids: %s!",
+			real_errno = errno;
+			Log(LOG_ERR, "Can't drop supplementary group IDs: %s!",
 					strerror(errno));
-			goto out;
+			if (real_errno != EPERM)
+				goto out;
 		}
 	}
 #endif

-----END OF PAGE-----