When sending a proxy request of the form
GET http://[3ffe:1:1001:3000:230:5ff:fe05:3c3c]/server-status HTTP/1.0
through the httpd-2.x mod_proxy.c code, while a directive
ProxyDomain .my.dom.ain
is in effect, the request is redirected to
Location: http://[3ffe:1:1001:3000:230:5ff:fe05:3c3c.my.dom.ain]/server-status
The patch (also committed to httpd-2.3.x-dev) fixes this bug, by
testing whether the hostname part of the unparsed_uri contains
colon characters (which is the case only for IPv6 literals).
This patch is also a candidate for httpd-2.0 and httpd-2.2
Martin
--
<[EMAIL PROTECTED]> | Fujitsu Siemens
http://www.fujitsu-siemens.com/imprint.html | 81730 Munich, Germany
Index: modules/proxy/mod_proxy.c
===================================================================
--- modules/proxy/mod_proxy.c (Revision 632138)
+++ modules/proxy/mod_proxy.c (Arbeitskopie)
@@ -737,7 +737,8 @@
return DECLINED;
/* If host does contain a dot already, or it is "localhost", decline */
- if (strchr(r->parsed_uri.hostname, '.') != NULL
+ if (strchr(r->parsed_uri.hostname, '.') != NULL /* has domain, or IPv4
literal */
+ || strchr(r->parsed_uri.hostname, ':') != NULL /* IPv6 literal */
|| strcasecmp(r->parsed_uri.hostname, "localhost") == 0)
return DECLINED; /* host name has a dot already */