summaryrefslogtreecommitdiff
path: root/asterisk.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2006-01-08 20:27:22 +0000
committerMark Spencer <markster@digium.com>2006-01-08 20:27:22 +0000
commit1134b480dcf0728ff96dc9d77bf87fc6d39bd6a9 (patch)
tree1ac30a309f22a72cd5059ea1648e00abb4fd0b26 /asterisk.c
parentbe582e9f2a241d335ddc7ac4cb67dfe9e8846a62 (diff)
you need to setgid in addition to initgroups...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'asterisk.c')
-rw-r--r--asterisk.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/asterisk.c b/asterisk.c
index 21136ddb5..3563b41b2 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -2171,7 +2171,11 @@ int main(int argc, char *argv[])
ast_log(LOG_WARNING, "No such user '%s'!\n", runuser);
exit(1);
}
- if (!ast_strlen_zero(rungroup)) {
+ if (!rungroup) {
+ if (setgid(pw->pw_gid)) {
+ ast_log(LOG_WARNING, "Unable to setgid to %d!\n", pw->pw_gid);
+ exit(1);
+ }
if (initgroups(pw->pw_name, pw->pw_gid)) {
ast_log(LOG_WARNING, "Unable to init groups for '%s'\n", runuser);
exit(1);