From: Eric Covener Date: Fri, 10 Jun 2016 22:53:07 +0000 (+0000) Subject: Strip proxy:fcgi:// just like proxy:balancer X-Git-Tag: 2.5.0-alpha~1512 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1b594119fd904a748c91f4b6e13bce4d95c28648;p=apache Strip proxy:fcgi:// just like proxy:balancer Submitted By: Jacob Champion Committed By: covener git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1747810 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 48efc338f3..7f7225944c 100644 --- 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 ] + *) core: Add -DDUMP_INCLUDES configtest option to show the tree of Included configuration files. [Jacob Champion ] diff --git a/modules/proxy/mod_proxy_fcgi.c b/modules/proxy/mod_proxy_fcgi.c index e95ed3e630..930424a216 100644 --- a/modules/proxy/mod_proxy_fcgi.c +++ b/modules/proxy/mod_proxy_fcgi.c @@ -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);