aboutsummaryrefslogtreecommitdiffstats
path: root/asterisk.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-07 20:08:51 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-07 20:08:51 +0000
commitd1db12b5805b28f6dc837c3e33aff2753c519c85 (patch)
tree0c8ec8f0d552c16879c588a0d813d18b84b0b664 /asterisk.c
parent606fdf5b52dcd305ed2289665c931435dca9e183 (diff)
Only set group for "runuser" if "rungroup" is not specified.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7858 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'asterisk.c')
-rw-r--r--asterisk.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/asterisk.c b/asterisk.c
index c81a1b16f..da156efd5 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -2171,9 +2171,11 @@ int main(int argc, char *argv[])
ast_log(LOG_WARNING, "No such user '%s'!\n", runuser);
exit(1);
}
- if (initgroups(pw->pw_name, pw->pw_gid)) {
- ast_log(LOG_WARNING, "Unable to init groups for '%s'\n", runuser);
- exit(1);
+ if (!ast_strlen_zero(rungroup))
+ if (initgroups(pw->pw_name, pw->pw_gid)) {
+ ast_log(LOG_WARNING, "Unable to init groups for '%s'\n", runuser);
+ exit(1);
+ }
}
if (setuid(pw->pw_uid)) {
ast_log(LOG_WARNING, "Unable to setuid to %d (%s)\n", pw->pw_uid, runuser);