From: Martin Kraemer Date: Mon, 31 Jan 2000 23:14:41 +0000 (+0000) Subject: Enforce a sensible permission on the httpd.pid file. X-Git-Tag: 1.3.12~53 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5bb2506c9a456e303fe5162c03a41b749b7f627e;p=apache Enforce a sensible permission on the httpd.pid file. Submitted by: Frank Miller Reviewed by: Martin Kraemer git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84547 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/log.c b/server/log.c index 1a5a3d9c57..0722ba36eb 100644 --- a/server/log.c +++ b/server/log.c @@ -475,6 +475,9 @@ void ap_log_pid(ap_context_t *p, const char *fname) ap_finfo_t finfo; static pid_t saved_pid = -1; pid_t mypid; +#ifndef WIN32 + mode_t u; +#endif if (!fname) return; @@ -496,6 +499,10 @@ void ap_log_pid(ap_context_t *p, const char *fname) ); } +#ifndef WIN32 + u = umask(022); + (void) umask(u | 022); +#endif if(ap_open(&pid_file, fname, APR_WRITE | APR_CREATE, APR_OS_DEFAULT, p) != APR_SUCCESS) { perror("fopen"); ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL, @@ -503,6 +510,9 @@ void ap_log_pid(ap_context_t *p, const char *fname) ap_server_argv0, fname); exit(1); } +#ifndef WIN32 + (void) umask(u); +#endif ap_fprintf(pid_file, "%ld\n", (long)mypid); ap_close(pid_file); saved_pid = mypid;