when parsing the vhosts from /sys/lib/rewrite the parser discards the
port such that
http://foo/
and
http://foo:1080/
are treated as the same vhost.
when parsing the http request, httplib takes the Host: header and
passes it (correctly) as the vhost. a Host: with a :port will never
match a vhost.
The correct behaviour should be to treat the host's individually and
require multiple entries in /sys/lib/rewrite if two vhosts on the
different ports want to share namespaces.
this patch just removes the ":" from the tokenizer of the vhost
parser.
I've been running the patched httpd here since the day I supplied the
patch.
If you want to verify the correctness the explanation of the Host:
header is in section 14.23 of http://www.faqs.org/rfcs/rfc2616.html
|