You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Carter Kozak (Jira)" <ji...@apache.org> on 2021/03/24 13:48:00 UTC

[jira] [Created] (HTTPCORE-671) URIBuilder incorrectly percent-encodes bracketed ipv6 addresses

Carter Kozak created HTTPCORE-671:
-------------------------------------

             Summary: URIBuilder incorrectly percent-encodes bracketed ipv6 addresses
                 Key: HTTPCORE-671
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-671
             Project: HttpComponents HttpCore
          Issue Type: New Feature
          Components: HttpCore
    Affects Versions: 5.1
            Reporter: Carter Kozak
            Assignee: Carter Kozak


{code:java}
new URIBuilder("https://[::1]:432/path").build();
Correctly produces 'https://[::1]:432/path'{code}
{code:java}
new URIBuilder("https://[::1]:432/path").setPort(123).build();
Incorrectly produces 'https://%5B%3A%3A1%5D:123/path'
where the resulting uri.getPort is -1 and uri.getHost() is null.
{code}

The second example fails because we skip the fast path that preserves input data when mutations are made.

I think we need to check for the existence of [https://tools.ietf.org/html/rfc2732] brackets in a third branch: [https://github.com/apache/httpcomponents-core/blob/cfb6871bd84e0f17068dea1c17d05b848c02ea69/httpcore5/src/main/java/org/apache/hc/core5/net/URIBuilder.java#L293-L297]

 

Alternatively we could strip brackets when we decode/store the host value in URIBuilder, however the 'getHost' result might be confusing.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org