Fix IPv6 address handling in the HTTP Host header

This PR fixes incorrect handling of the HTTP Host header when it contains a literal IPv6 address.

Previous behavior:

HttpListenerRequest treats : as a port separator in the Host value. This causes an "Invalid URL" error when an IPv6 address is used.

New behavior:

HttpListenerRequest no longer treats : as a port separator if it appears before the ] character (which is exclusively used in IPv6 addresses).

The PR includes test cases that previously failed before the fix.

It's a draft because I have problems with testing and I haven't tested the fix manually yet. make check doesn't run all test. I manage to run tests with make mcs-do-tests after modifying mcs/class/System/Makefile. Also some tests in System.Net stuck out of box.

Merge request reports

Loading