You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2016/06/10 22:53:07 UTC
svn commit: r1747810 - in /httpd/httpd/trunk: CHANGES
modules/proxy/mod_proxy_fcgi.c
Author: covener
Date: Fri Jun 10 22:53:07 2016
New Revision: 1747810
URL: http://svn.apache.org/viewvc?rev=1747810&view=rev
Log:
Strip proxy:fcgi:// just like proxy:balancer
Submitted By: Jacob Champion <champion.pxi gmail.com>
Committed By: covener
Modified:
httpd/httpd/trunk/CHANGES
httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c
Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1747810&r1=1747809&r2=1747810&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Fri Jun 10 22:53:07 2016
@@ -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>]
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c?rev=1747810&r1=1747809&r2=1747810&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c Fri Jun 10 22:53:07 2016
@@ -262,11 +262,21 @@ static apr_status_t send_environment(pro
}
}
- /* 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);