--- a/src/java.base/share/classes/java/net/HttpConnectSocketImpl.java Thu Mar 21 08:41:10 2019 +0000
+++ b/src/java.base/share/classes/java/net/HttpConnectSocketImpl.java Thu Mar 21 18:04:01 2019 +0000
@@ -114,14 +114,17 @@
if (endpoint == null || !(endpoint instanceof InetSocketAddress))
throw new IllegalArgumentException("Unsupported address type");
final InetSocketAddress epoint = (InetSocketAddress)endpoint;
- final String destHost = epoint.isUnresolved() ? epoint.getHostName()
- : epoint.getAddress().getHostAddress();
+ String destHost = epoint.isUnresolved() ? epoint.getHostName()
+ : epoint.getAddress().getHostAddress();
final int destPort = epoint.getPort();
SecurityManager security = System.getSecurityManager();
if (security != null)
security.checkConnect(destHost, destPort);
+ if (destHost.contains(":"))
+ destHost = "[" + destHost + "]";
+
// Connect to the HTTP proxy server
String urlString = "http://" + destHost + ":" + destPort;
Socket httpSocket = privilegedDoTunnel(urlString, timeout);