RFR: 8318130: SocksSocketImpl needlessly encodes hostname for IPv6 addresses [v2]

Jaikiran Pai jpai at openjdk.org
Mon Oct 23 12:27:40 UTC 2023


On Fri, 20 Oct 2023 12:00:51 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

>> This patch fixes the encoding of IPv6 addresses in the URI provided to ProxySelector.
>> 
>> The original code percent-encoded the square brackets added around the IPv6 addresses, producing URIs that could not be parsed correctly.
>> 
>> The proposed code does not percent-encode the IPv6 addresses at all.
>> 
>> Added a test to verify that different forms of addresses are processed correctly. The test verifies the handling of IPv4 addresses, IPv6 without scope, IPv6 with numeric scope, IPv6 with textual scope (only if present on the machine running tests), hostnames and FQDNs
>> 
>> Tier1-3 tests passed.
>
> Daniel Jeliński has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Remove redundant checks

src/java.base/share/classes/java/net/SocksSocketImpl.java line 307:

> 305:                 host = ParseUtil.encodePath(host);
> 306:             }
> 307:             // IPv6 literal?

Hello Daniel, this comment seems to have been misplaced. I think it should have been a few lines above just when `isIPv6LiteralAddress` is being called.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/16265#discussion_r1368574870


More information about the net-dev mailing list