Don't set port number as part of hostname #10386
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
One of autest failed on #10304 , and it discovered that there is a place mishandling Host header value.
The original code used the entire Host header value as a hostname, and it confused
url_print()because "hostname" contains a colon.url_print()treated the hostname as IPv6 address and it added brackets to the hostname like[foo.example:8888]. If it's used in an URL (i.e.http://[foo.example:8888]/), it means/will be read as an (invalid) IPv6 addressfoo.exmample:8080and port80.This PR fix the issue. The behavior is described in the comments.