[svn-commits] tilghman: branch 1.4 r272925 - /branches/1.4/main/asterisk.c
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Mon Jun 28 16:50:06 CDT 2010
Author: tilghman
Date: Mon Jun 28 16:50:02 2010
New Revision: 272925
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=272925
Log:
Don't change ownership/group/permissions on run directory, if it already exists.
(closes issue #17076)
Reported by: stuarth
Patches:
20100324__issue17076.diff.txt uploaded by tilghman (license 14)
Tested by: stuarth
Modified:
branches/1.4/main/asterisk.c
Modified: branches/1.4/main/asterisk.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/main/asterisk.c?view=diff&rev=272925&r1=272924&r2=272925
==============================================================================
--- branches/1.4/main/asterisk.c (original)
+++ branches/1.4/main/asterisk.c Mon Jun 28 16:50:02 2010
@@ -2724,7 +2724,7 @@
FILE *f;
sigset_t sigs;
int num;
- int isroot = 1;
+ int isroot = 1, rundir_exists = 0;
char *buf;
char *runuser = NULL, *rungroup = NULL;
@@ -2891,8 +2891,12 @@
/* It's common on some platforms to clear /var/run at boot. Create the
* socket file directory before we drop privileges. */
- if (mkdir(ast_config_AST_RUN_DIR, 0755) && errno != EEXIST) {
- ast_log(LOG_WARNING, "Unable to create socket file directory. Remote consoles will not be able to connect! (%s)\n", strerror(x));
+ if (mkdir(ast_config_AST_RUN_DIR, 0755)) {
+ if (errno == EEXIST) {
+ rundir_exists = 1;
+ } else {
+ ast_log(LOG_WARNING, "Unable to create socket file directory. Remote consoles will not be able to connect! (%s)\n", strerror(x));
+ }
}
#ifndef __CYGWIN__
@@ -2907,7 +2911,7 @@
ast_log(LOG_WARNING, "No such group '%s'!\n", rungroup);
exit(1);
}
- if (chown(ast_config_AST_RUN_DIR, -1, gr->gr_gid)) {
+ if (!rundir_exists && chown(ast_config_AST_RUN_DIR, -1, gr->gr_gid)) {
ast_log(LOG_WARNING, "Unable to chgrp run directory to %d (%s)\n", (int) gr->gr_gid, rungroup);
}
if (setgid(gr->gr_gid)) {
More information about the svn-commits
mailing list