From 4d8792bb43e875351a5b422369ceadc2b45dbc83 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Sat, 25 Sep 2010 10:27:52 +0000 Subject: [PATCH] - use upstream patch that adds -T for not doing some checks instead of dropping is_dir check in the code Changed files: apache-bug-40970.patch -> 1.5 apache.spec -> 1.604 apache.sysconfig -> 1.15 --- apache-bug-40970.patch | 95 +++++++++++++++++++++++++++++++++++++----- apache.spec | 2 +- apache.sysconfig | 1 + 3 files changed, 87 insertions(+), 11 deletions(-) diff --git a/apache-bug-40970.patch b/apache-bug-40970.patch index dd275fb..d3bf523 100644 --- a/apache-bug-40970.patch +++ b/apache-bug-40970.patch @@ -1,12 +1,87 @@ ---- apache/server/core.c~ 2008-06-06 11:05:04.956063837 +0200 -+++ apache/server/core.c 2008-06-06 11:11:35.201986198 +0200 -@@ -1176,8 +1176,7 @@ +Index: server/core.c +=================================================================== +--- server/core.c (wersja 984170) ++++ server/core.c (wersja 984171) +@@ -1183,13 +1183,19 @@ + return err; + } - /* TODO: ap_configtestonly && ap_docrootcheck && */ ++ /* When ap_document_root_check is false; skip all the stuff below */ ++ if (!ap_document_root_check) { ++ conf->ap_document_root = arg; ++ return NULL; ++ } ++ + /* Make it absolute, relative to ServerRoot */ + arg = ap_server_root_relative(cmd->pool, arg); + if (arg == NULL) { + return "DocumentRoot must be a directory"; + } + +- /* TODO: ap_configtestonly && ap_docrootcheck && */ ++ /* TODO: ap_configtestonly */ if (apr_filepath_merge((char**)&conf->ap_document_root, NULL, arg, -- APR_FILEPATH_TRUENAME, cmd->pool) != APR_SUCCESS -- || !ap_is_directory(cmd->pool, arg)) { -+ APR_FILEPATH_TRUENAME, cmd->pool) != APR_SUCCESS) { - if (cmd->server->is_virtual) { - ap_log_perror(APLOG_MARK, APLOG_STARTUP, 0, - cmd->pool, + APR_FILEPATH_TRUENAME, cmd->pool) != APR_SUCCESS + || !ap_is_directory(cmd->pool, arg)) { +Index: server/main.c +=================================================================== +--- server/main.c (wersja 984170) ++++ server/main.c (wersja 984171) +@@ -361,7 +361,7 @@ + #endif /* AP_MPM_WANT_SET_GRACEFUL_SHUTDOWN */ + #endif + ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, +- " %s [-v] [-V] [-h] [-l] [-L] [-t] [-S]", pad); ++ " %s [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S]", pad); + ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, + "Options:"); + +@@ -440,10 +440,15 @@ + " -M : a synonym for -t -D DUMP_MODULES"); + ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, + " -t : run syntax check for config files"); ++ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, ++ " -T : start without DocumentRoot(s) check"); + + destroy_and_exit_process(process, 1); + } + ++/* Set ap_document_root_check to default value: true */ ++AP_DECLARE_DATA int ap_document_root_check = 1; ++ + int main(int argc, const char * const argv[]) + { + char c; +@@ -592,6 +597,10 @@ + configtestonly = 1; + break; + ++ case 'T': ++ ap_document_root_check = 0; ++ break; ++ + case 'S': + configtestonly = 1; + new = (char **)apr_array_push(ap_server_config_defines); +Index: include/http_main.h +=================================================================== +--- include/http_main.h (wersja 984170) ++++ include/http_main.h (wersja 984171) +@@ -32,7 +32,7 @@ + * in apr_getopt() format. Use this for default'ing args that the MPM + * can safely ignore and pass on from its rewrite_args() handler. + */ +-#define AP_SERVER_BASEARGS "C:c:D:d:E:e:f:vVlLtSMh?X" ++#define AP_SERVER_BASEARGS "C:c:D:d:E:e:f:vVlLtTSMh?X" + + #ifdef __cplusplus + extern "C" { +@@ -53,6 +53,8 @@ + /** An array of all -D defines on the command line. This allows people to + * effect the server based on command line options */ + AP_DECLARE_DATA extern apr_array_header_t *ap_server_config_defines; ++/** Available integer for using the -T switch */ ++AP_DECLARE_DATA extern int ap_document_root_check; + + /** + * An optional function to send signal to server on presence of '-k' diff --git a/apache.spec b/apache.spec index 37d43ca..9aa46e9 100644 --- a/apache.spec +++ b/apache.spec @@ -1763,7 +1763,7 @@ Dwa programy testowe/przykładowe cgi: test-cgi and print-env. %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 +%patch11 -p0 %patch12 -p1 %patch14 -p1 %patch15 -p1 diff --git a/apache.sysconfig b/apache.sysconfig index 9ec1625..c96afee 100644 --- a/apache.sysconfig +++ b/apache.sysconfig @@ -8,6 +8,7 @@ SERVICE_RUN_NICE_LEVEL="+5" #HTTPD_CONF="/etc/httpd/apache.conf" # other command-line options +# -T avoid doing many unneded DocumentRoot checks HTTPD_OPTS="" # choose MPM -- 2.44.0