From 1caa7ac722a4691bf63cfe041663966bbc9bb778 Mon Sep 17 00:00:00 2001 From: David Solin Date: Tue, 16 Aug 2016 10:26:57 -0500 Subject: [PATCH] For null hostnames, use the loopback InetAddress (for backward-compatibility). --- .../java/net/schmizz/sshj/SocketClient.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/schmizz/sshj/SocketClient.java b/src/main/java/net/schmizz/sshj/SocketClient.java index 7a843380..e831bffa 100644 --- a/src/main/java/net/schmizz/sshj/SocketClient.java +++ b/src/main/java/net/schmizz/sshj/SocketClient.java @@ -118,18 +118,26 @@ public abstract class SocketClient { } public void connect(String hostname, int port) throws IOException { - this.hostname = hostname; - socket = socketFactory.createSocket(); - socket.connect(new InetSocketAddress(hostname, port), connectTimeout); - onConnect(); + if (hostname == null) { + connect(InetAddress.getByName(null), port); + } else { + this.hostname = hostname; + socket = socketFactory.createSocket(); + socket.connect(new InetSocketAddress(hostname, port), connectTimeout); + onConnect(); + } } public void connect(String hostname, int port, InetAddress localAddr, int localPort) throws IOException { - this.hostname = hostname; - socket = socketFactory.createSocket(); - socket.bind(new InetSocketAddress(localAddr, localPort)); - socket.connect(new InetSocketAddress(hostname, port), connectTimeout); - onConnect(); + if (hostname == null) { + connect(InetAddress.getByName(null), port, localAddr, localPort); + } else { + this.hostname = hostname; + socket = socketFactory.createSocket(); + socket.bind(new InetSocketAddress(localAddr, localPort)); + socket.connect(new InetSocketAddress(hostname, port), connectTimeout); + onConnect(); + } } public void connect(InetAddress host) throws IOException {