]> git.pld-linux.org Git - packages/apache1.git/blame - apache1-suexec_reopenlog.patch
rel 15; builds
[packages/apache1.git] / apache1-suexec_reopenlog.patch
CommitLineData
35b2c95a
AM
1diff -urNp -x '*.orig' apache_1.3.42.org/src/support/suexec.c apache_1.3.42/src/support/suexec.c
2--- apache_1.3.42.org/src/support/suexec.c 2006-07-12 10:16:05.000000000 +0200
3+++ apache_1.3.42/src/support/suexec.c 2023-02-02 22:42:51.499834914 +0100
bfc879b9 4@@ -49,6 +49,10 @@
35b2c95a 5
bfc879b9 6 #include <stdarg.h>
bfc879b9
ER
7
8+/* for fcntl(fileno(log), F_SETFD, FD_CLOEXEC); */
9+#include <unistd.h>
10+#include <fcntl.h>
11+
12 #include "suexec.h"
13
14 /*
35b2c95a 15@@ -148,6 +152,8 @@ static void err_output(const char *fmt,
bfc879b9
ER
16 perror("fopen");
17 exit(1);
18 }
19+ /* Set the close-on-exec flag -- Liyang HU <liyang@nerv.cx> */
20+ fcntl(fileno(log), F_SETFD, FD_CLOEXEC);
21 }
22
23 time(&timevar);
35b2c95a 24@@ -568,20 +574,6 @@ int main(int argc, char *argv[])
bfc879b9
ER
25 umask(SUEXEC_UMASK);
26 #endif /* SUEXEC_UMASK */
27
28- /*
29- * Be sure to close the log file so the CGI can't
30- * mess with it. If the exec fails, it will be reopened
31- * automatically when log_err is called. Note that the log
32- * might not actually be open if LOG_EXEC isn't defined.
33- * However, the "log" cell isn't ifdef'd so let's be defensive
34- * and assume someone might have done something with it
35- * outside an ifdef'd LOG_EXEC block.
36- */
37- if (log != NULL) {
38- fclose(log);
39- log = NULL;
40- }
41-
42 /*
43 * Execute the command, replacing our image with its own.
44 */
This page took 0.053731 seconds and 4 git commands to generate.