mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-30 02:26:23 +00:00
Merged revisions 272925 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r272925 | tilghman | 2010-06-28 16:50:02 -0500 (Mon, 28 Jun 2010) | 8 lines 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 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -3156,7 +3156,7 @@ int main(int argc, char *argv[])
|
|||||||
FILE *f;
|
FILE *f;
|
||||||
sigset_t sigs;
|
sigset_t sigs;
|
||||||
int num;
|
int num;
|
||||||
int isroot = 1;
|
int isroot = 1, rundir_exists = 0;
|
||||||
char *buf;
|
char *buf;
|
||||||
const char *runuser = NULL, *rungroup = NULL;
|
const char *runuser = NULL, *rungroup = NULL;
|
||||||
char *remotesock = NULL;
|
char *remotesock = NULL;
|
||||||
@@ -3366,9 +3366,13 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
/* It's common on some platforms to clear /var/run at boot. Create the
|
/* It's common on some platforms to clear /var/run at boot. Create the
|
||||||
* socket file directory before we drop privileges. */
|
* socket file directory before we drop privileges. */
|
||||||
if (mkdir(ast_config_AST_RUN_DIR, 0755) && errno != EEXIST) {
|
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));
|
ast_log(LOG_WARNING, "Unable to create socket file directory. Remote consoles will not be able to connect! (%s)\n", strerror(x));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef __CYGWIN__
|
#ifndef __CYGWIN__
|
||||||
|
|
||||||
@@ -3383,7 +3387,7 @@ int main(int argc, char *argv[])
|
|||||||
ast_log(LOG_WARNING, "No such group '%s'!\n", rungroup);
|
ast_log(LOG_WARNING, "No such group '%s'!\n", rungroup);
|
||||||
exit(1);
|
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);
|
ast_log(LOG_WARNING, "Unable to chgrp run directory to %d (%s)\n", (int) gr->gr_gid, rungroup);
|
||||||
}
|
}
|
||||||
if (setgid(gr->gr_gid)) {
|
if (setgid(gr->gr_gid)) {
|
||||||
|
Reference in New Issue
Block a user