RFR: 8318130: SocksSocketImpl needlessly encodes hostname for IPv6 addresses
    Michael McMahon 
    michaelm at openjdk.org
       
    Fri Oct 20 09:46:27 UTC 2023
    
    
  
On Thu, 19 Oct 2023 12:10:02 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.
src/java.base/share/classes/java/net/SocksSocketImpl.java line 304:
> 302:             if (epoint.getAddress() instanceof Inet6Address &&
> 303:                     (host.indexOf(':') >= 0) &&
> 304:                     isIPv6LiteralAddress(host)) {
Is the check at line 303 still needed, now we are calling `isIPv6LiteralAddress` ?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16265#discussion_r1366738514
    
    
More information about the net-dev
mailing list