r1665215 | ylavic | 2015-03-09 13:45:56 +0100 (Mon, 09 Mar 2015) | 8 lines
mod_proxy: use the original (non absolute) form of the request-line's URI
for requests embedded in CONNECT payloads used to connect SSL backends via
a ProxyRemote forward-proxy. PR 55892.
Submitted by: Hendrik Harms <hendrik.harms gmail com>
Reviewed by: wrowe, ylavic
Committed by: ylavic
r1665218 | ylavic | 2015-03-09 13:54:38 +0100 (Mon, 09 Mar 2015) | 1 line
mod_proxy: follow up to r1665215: CHANGES entry.
Reviewed by: ylavic, wrowe, rjung
Backported by: ylavic
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@
1681289 13f79535-47bb-0310-9956-
ffa450edef68
-*- coding: utf-8 -*-
Changes with Apache 2.2.30
+ *) mod_proxy: use the original (non absolute) form of the request-line's URI
+ for requests embedded in CONNECT payloads used to connect SSL backends via
+ a ProxyRemote forward-proxy. PR 55892. [Hendrik Harms <hendrik.harms
+ gmail com>, William Rowe, Yann Ylavic]
+
*) mpm_winnt: Accept utf-8 (Unicode) service names and descriptions for
internationalization. [William Rowe]
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mod_proxy: use the original (non absolute) form of the request-line's URI
- for requests embedded in CONNECT payloads used to connect SSL backends via
- a ProxyRemote forward-proxy. PR 55892.
- trunk patch: http://svn.apache.org/r1665215
- http://svn.apache.org/r1665218 (CHANGES entry)
- 2.2.x patch: trunk works (modulo CHANGES)
- +1: ylavic, wrowe, rjung
-
* mod_log_config: Allow to choose request start or end time
as time stamp in log (httpd traditionally uses start, many
other components, e.g. Tomcat use end time, so they are kind
* The scheme handler decides if this is permanent or
* short living pool.
*/
- /* are we connecting directly, or via a proxy? */
- if (!proxyname) {
+ /* Unless we are connecting the backend via a (forward Proxy)Remote, we
+ * have to use the original form of the URI (non absolute), but this is
+ * also the case via a remote proxy using the CONNECT method since the
+ * original request (and URI) is to be embedded in the body.
+ */
+ if (!proxyname || conn->is_ssl) {
*url = apr_pstrcat(p, uri->path, uri->query ? "?" : "",
uri->query ? uri->query : "",
uri->fragment ? "#" : "",