summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Orton <jorton@redhat.com>2017-06-30 17:01:34 +0100
committerJoe Orton <jorton@redhat.com>2017-06-30 17:01:34 +0100
commit1205ddb60bec04a25bb4bdf950f16860febfdea5 (patch)
treee533add5c7321e4fa26d8283ce7044a8702f3a0d
parentfd6452a0f2d4aa85e5f8e757be7f0b89511cdf0e (diff)
downloadhttpd-1205ddb60bec04a25bb4bdf950f16860febfdea5.tar.gz
httpd-1205ddb60bec04a25bb4bdf950f16860febfdea5.tar.xz
httpd-1205ddb60bec04a25bb4bdf950f16860febfdea5.zip
mod_proxy_fcgi: fix further regressions (PR 61202)
-rw-r--r--httpd-2.4.26-r1800306.patch86
-rw-r--r--httpd.spec7
-rwxr-xr-xpullrev.sh2
3 files changed, 93 insertions, 2 deletions
diff --git a/httpd-2.4.26-r1800306.patch b/httpd-2.4.26-r1800306.patch
new file mode 100644
index 0000000..4a8bc2d
--- /dev/null
+++ b/httpd-2.4.26-r1800306.patch
@@ -0,0 +1,86 @@
+# ./pullrev.sh 1800306
+
+http://svn.apache.org/viewvc?view=revision&revision=1800306
+
+diff -uap httpd-2.4.26/modules/mappers/mod_actions.c.r1800306 httpd-2.4.26/modules/mappers/mod_actions.c
+--- httpd-2.4.26/modules/mappers/mod_actions.c.r1800306
++++ httpd-2.4.26/modules/mappers/mod_actions.c
+@@ -186,8 +186,7 @@
+ ap_field_noparam(r->pool, r->content_type);
+
+ if (action && (t = apr_table_get(conf->action_types, action))) {
+- int virtual = (*t++ == '0' ? 0 : 1);
+- if (!virtual && r->finfo.filetype == APR_NOFILE) {
++ if (*t++ == '0' && r->finfo.filetype == APR_NOFILE) {
+ ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(00652)
+ "File does not exist: %s", r->filename);
+ return HTTP_NOT_FOUND;
+@@ -198,9 +197,6 @@
+ * (will be REDIRECT_HANDLER there)
+ */
+ apr_table_setn(r->subprocess_env, "HANDLER", action);
+- if (virtual) {
+- apr_table_setn(r->notes, "virtual_script", "1");
+- }
+ }
+
+ if (script == NULL)
+diff -uap httpd-2.4.26/modules/proxy/mod_proxy_fcgi.c.r1800306 httpd-2.4.26/modules/proxy/mod_proxy_fcgi.c
+--- httpd-2.4.26/modules/proxy/mod_proxy_fcgi.c.r1800306
++++ httpd-2.4.26/modules/proxy/mod_proxy_fcgi.c
+@@ -321,7 +321,6 @@
+ apr_status_t rv;
+ apr_size_t avail_len, len, required_len;
+ int next_elem, starting_elem;
+- int fpm = 0;
+ fcgi_req_config_t *rconf = ap_get_module_config(r->request_config, &proxy_fcgi_module);
+ fcgi_dirconf_t *dconf = ap_get_module_config(r->per_dir_config, &proxy_fcgi_module);
+
+@@ -354,8 +353,6 @@
+ *qs = '\0';
+ }
+ }
+- } else {
+- fpm = 1;
+ }
+
+ if (newfname) {
+@@ -364,38 +361,9 @@
+ }
+ }
+
+-#if 0
+- ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(09999)
+- "r->filename: %s", (r->filename ? r->filename : "nil"));
+- ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(09999)
+- "r->uri: %s", (r->uri ? r->uri : "nil"));
+- ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(09999)
+- "r->path_info: %s", (r->path_info ? r->path_info : "nil"));
+-#endif
+-
+ ap_add_common_vars(r);
+ ap_add_cgi_vars(r);
+
+- if (fpm || apr_table_get(r->notes, "virtual_script")) {
+- /*
+- * Adjust SCRIPT_NAME, PATH_INFO and PATH_TRANSLATED for PHP-FPM
+- * TODO: Right now, PATH_INFO and PATH_TRANSLATED look OK...
+- */
+- const char *pend;
+- const char *script_name = apr_table_get(r->subprocess_env, "SCRIPT_NAME");
+- pend = script_name + strlen(script_name);
+- if (r->path_info && *r->path_info) {
+- pend = script_name + ap_find_path_info(script_name, r->path_info) - 1;
+- }
+- while (pend != script_name && *pend != '/') {
+- pend--;
+- }
+- apr_table_setn(r->subprocess_env, "SCRIPT_NAME", pend);
+- ap_log_rerror(APLOG_MARK, APLOG_TRACE4, 0, r,
+- "fpm:virtual_script: Modified SCRIPT_NAME to: %s",
+- pend);
+- }
+-
+ /* XXX are there any FastCGI specific env vars we need to send? */
+
+ /* Give admins final option to fine-tune env vars */
diff --git a/httpd.spec b/httpd.spec
index 5882045..6a6226e 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -8,7 +8,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.26
-Release: 1%{?dist}
+Release: 2%{?dist}
URL: http://httpd.apache.org/
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: index.html
@@ -67,6 +67,7 @@ Patch56: httpd-2.4.4-mod_unique_id.patch
Patch57: httpd-2.4.10-sigint.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
Patch58: httpd-2.4.25-r1738878.patch
+Patch59: httpd-2.4.26-r1800306.patch
# Security fixes
License: ASL 2.0
@@ -213,6 +214,7 @@ interface for storing and accessing per-user session data.
%patch56 -p1 -b .uniqueid
%patch57 -p1 -b .sigint
%patch58 -p1 -b .r1738878
+%patch59 -p1 -b .r1800306
# Patch in the vendor string
sed -i '/^#define PLATFORM/s/Unix/%{vstring}/' os/unix/os.h
@@ -691,6 +693,9 @@ rm -rf $RPM_BUILD_ROOT
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
+* Fri Jun 30 2017 Joe Orton <jorton@redhat.com> - 2.4.26-2
+- mod_proxy_fcgi: fix further regressions (PR 61202)
+
* Mon Jun 19 2017 Luboš Uhliarik <luhliari@redhat.com> - 2.4.26-1
- new version 2.4.26
diff --git a/pullrev.sh b/pullrev.sh
index 2b2fef9..d106968 100755
--- a/pullrev.sh
+++ b/pullrev.sh
@@ -7,7 +7,7 @@ fi
repo="https://svn.apache.org/repos/asf/httpd/httpd/trunk"
repo="https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x"
-ver=2.4.25
+ver=2.4.26
prefix="httpd-${ver}"
suffix="r$1${2:++}"
fn="${prefix}-${suffix}.patch"