]> granicus.if.org Git - apache/commitdiff
Strip proxy:fcgi:// just like proxy:balancer
authorEric Covener <covener@apache.org>
Fri, 10 Jun 2016 22:53:07 +0000 (22:53 +0000)
committerEric Covener <covener@apache.org>
Fri, 10 Jun 2016 22:53:07 +0000 (22:53 +0000)
Submitted By: Jacob Champion <champion.pxi gmail.com>
Committed By: covener

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

CHANGES
modules/proxy/mod_proxy_fcgi.c

diff --git a/CHANGES b/CHANGES
index 48efc338f39e77b10f2ffe48e53abbbd48d0a606..7f7225944ccf6b1b5668558cf7ad1ea729c75c3c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,10 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) mod_proxy_fcgi: Avoid passing a filename of proxy:fcgi:// as
+     SCRIPT_FILENAME to a FastCGI server. PR59618.
+     [Jacob Champion <champion.pxi gmail.com>]
+
   *) core: Add -DDUMP_INCLUDES configtest option to show the tree
      of Included configuration files.  [Jacob Champion <champion.pxi gmail.com>]
 
index e95ed3e630dabbadee3a6649541ae5496b57a0f8..930424a216ba2d38ac33eb28b52a7041bc05a732 100644 (file)
@@ -262,11 +262,21 @@ static apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r,
        }
     }
 
-    /* Strip balancer prefix */
-    if (r->filename && !strncmp(r->filename, "proxy:balancer://", 17)) { 
-        char *newfname = apr_pstrdup(r->pool, r->filename+17);
-        newfname = ap_strchr(newfname, '/');
-        r->filename = newfname;
+    /* Strip proxy: prefixes */
+    if (r->filename) {
+        char *newfname = NULL;
+
+        if (!strncmp(r->filename, "proxy:balancer://", 17)) {
+            newfname = apr_pstrdup(r->pool, r->filename+17);
+        }
+        else if (!strncmp(r->filename, "proxy:fcgi://", 13)) {
+            newfname = apr_pstrdup(r->pool, r->filename+13);
+        }
+
+        if (newfname) {
+            newfname = ap_strchr(newfname, '/');
+            r->filename = newfname;
+        }
     }
 
     ap_add_common_vars(r);