diff --git a/CHANGES b/CHANGES index 05541f82a6..c5fd33792b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) mod_proxy_fcgi: Remove proxy:balancer:// prefix from SCRIPT_FILENAME + passed to fastcgi backends. [Eric Covener] + *) mod_http: Fix incorrect If-Match handling. PR 57358 [Kunihiko Sakamoto ] diff --git a/modules/proxy/mod_proxy_fcgi.c b/modules/proxy/mod_proxy_fcgi.c index 9b20a9f550..f53eb0e008 100644 --- a/modules/proxy/mod_proxy_fcgi.c +++ b/modules/proxy/mod_proxy_fcgi.c @@ -206,9 +206,20 @@ 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; + char *proxyfilename = r->filename; + + /* Strip balancer prefix */ + if (r->filename && !strncmp(r->filename, "proxy:balancer://", 17)) { + char *newfname = apr_pstrdup(r->pool, r->filename); + newfname += 17; + newfname = ap_strchr(newfname, '/'); + r->filename = newfname; + } ap_add_common_vars(r); ap_add_cgi_vars(r); + + r->filename = proxyfilename; /* XXX are there any FastCGI specific env vars we need to send? */