Module: ngircd.git Branch: master Commit: 41f75b69740bd205864bd34afbb65ab0a3776136 URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=41f75...
Author: Alexander Barton alex@barton.de 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.
---
src/ngircd/ngircd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c index 4099719..e26ac3b 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