Merge r1800306, r1800393 from trunk:
authorJim Jagielski <jim@apache.org>
Mon, 3 Jul 2017 10:22:07 +0000 (10:22 +0000)
committerJim Jagielski <jim@apache.org>
Mon, 3 Jul 2017 10:22:07 +0000 (10:22 +0000)
proxy_fcgi: remove FPM-specific logic

Reverts r1780328, r1780329, and their associated followups, which
incorrectly manipulated SCRIPT_NAME by default. All proxy_fcgi.t
regression tests now pass.

PR: 61202

Partial reversal of r1800306... note virtual scripts in notes

Submitted by: jchampion, jim
Reviewed by: jchampion, jim, covener

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1800618 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
modules/proxy/mod_proxy_fcgi.c

diff --git a/CHANGES b/CHANGES
index 1fb1e58db4b8f497918aa5a65a89785373373319..0b1a62fd2e6f7cc649ebd4707ac5ef239de916e3 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,11 +1,14 @@
                                                          -*- coding: utf-8 -*-
 
-
 Changes with Apache 2.4.27
 
   *) Allow single-char field names inadvertantly disallowed in 2.4.25.
      PR 61220. [Yann Ylavic]
 
+  *) mod_proxy_fcgi: Revert to 2.4.20 FCGI behavior for the default
+     ProxyFCGIBackendType, fixing a regression with PHP-FPM. PR 61202.
+     [Jacob Champion, Jim Jagielski]
+
   *) core: Avoid duplicate HEAD in Allow header.
      This is a regression in 2.4.24 (unreleased), 2.4.25 and 2.4.26.
      PR 61207. [Christophe Jaillet]
diff --git a/STATUS b/STATUS
index d4b4d301bb3818d1695e69d2124a48b9f6082925..8819400c6b47952c84a7811b6763977c58085283 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -115,12 +115,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
 
-  *) PR61202: remove FPM-specific logic from mod_proxy_fcgi. Returns us to
-     2.4.20 FCGI behavior by default.
-     trunk patch: https://svn.apache.org/r1800306
-                  https://svn.apache.org/r1800393
-     2.4.x patch: trunk works, modulo APLOGNO and CHANGES
-     +1: jchampion, jim, covener
 
 
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
index a268556e30200b414a82dfaa81b4f4673ad6f991..41292e8726756d94fe4974b1f4abe66e67a59f87 100644 (file)
@@ -321,7 +321,6 @@ static apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r,
     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 @@ static apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r,
                     *qs = '\0';
                 }
             }
-        } else {
-            fpm = 1;
         }
 
         if (newfname) {
@@ -364,38 +361,9 @@ static apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r,
         }
     }
 
-#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 */