mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
Fix IPv6 literal addresses passed to a proxied backend.
PR 47177 Patch by Carlos Garcia Braschi git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@778531 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -6,6 +6,9 @@ Changes with Apache 2.3.3
|
|||||||
mod_proxy_ajp: Avoid delivering content from a previous request which
|
mod_proxy_ajp: Avoid delivering content from a previous request which
|
||||||
failed to send a request body. PR 46949 [Ruediger Pluem]
|
failed to send a request body. PR 46949 [Ruediger Pluem]
|
||||||
|
|
||||||
|
*) mod_proxy_http: fix Host: header for literal IPv6 addresses.
|
||||||
|
PR 47177 [Carlos Garcia Braschi <cgbraschi gmail.com>]
|
||||||
|
|
||||||
*) mod_cache: Add CacheIgnoreURLSessionIdentifiers directive to ignore
|
*) mod_cache: Add CacheIgnoreURLSessionIdentifiers directive to ignore
|
||||||
defined session identifiers encoded in the URL when caching.
|
defined session identifiers encoded in the URL when caching.
|
||||||
[Ruediger Pluem]
|
[Ruediger Pluem]
|
||||||
|
@@ -713,11 +713,20 @@ int ap_proxy_http_request(apr_pool_t *p, request_rec *r,
|
|||||||
e = apr_bucket_pool_create(buf, strlen(buf), p, c->bucket_alloc);
|
e = apr_bucket_pool_create(buf, strlen(buf), p, c->bucket_alloc);
|
||||||
APR_BRIGADE_INSERT_TAIL(header_brigade, e);
|
APR_BRIGADE_INSERT_TAIL(header_brigade, e);
|
||||||
if (conf->preserve_host == 0) {
|
if (conf->preserve_host == 0) {
|
||||||
if (uri->port_str && uri->port != DEFAULT_HTTP_PORT) {
|
if (ap_strchr_c(uri->hostname, ':')) { /* if literal IPv6 address */
|
||||||
buf = apr_pstrcat(p, "Host: ", uri->hostname, ":", uri->port_str,
|
if (uri->port_str && uri->port != DEFAULT_HTTP_PORT) {
|
||||||
CRLF, NULL);
|
buf = apr_pstrcat(p, "Host: [", uri->hostname, "]:",
|
||||||
|
uri->port_str, CRLF, NULL);
|
||||||
|
} else {
|
||||||
|
buf = apr_pstrcat(p, "Host: [", uri->hostname, "]", CRLF, NULL);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
buf = apr_pstrcat(p, "Host: ", uri->hostname, CRLF, NULL);
|
if (uri->port_str && uri->port != DEFAULT_HTTP_PORT) {
|
||||||
|
buf = apr_pstrcat(p, "Host: ", uri->hostname, ":",
|
||||||
|
uri->port_str, CRLF, NULL);
|
||||||
|
} else {
|
||||||
|
buf = apr_pstrcat(p, "Host: ", uri->hostname, CRLF, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
Reference in New Issue
Block a user