]> granicus.if.org Git - apache/commitdiff
Enforce a sensible permission on the httpd.pid file.
authorMartin Kraemer <martin@apache.org>
Mon, 31 Jan 2000 23:14:41 +0000 (23:14 +0000)
committerMartin Kraemer <martin@apache.org>
Mon, 31 Jan 2000 23:14:41 +0000 (23:14 +0000)
Submitted by: Frank Miller <frankm@system-associates.com>
Reviewed by: Martin Kraemer

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84547 13f79535-47bb-0310-9956-ffa450edef68

server/log.c

index 1a5a3d9c578322965c7a2326bd1d7733679e3294..0722ba36ebf1bb8f004273660e837672d440d5da 100644 (file)
@@ -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;