Ganymed library patch
[controller.git] / third-party / ganymed / src / main / java / ch / ethz / ssh2 / Connection.java
index bf742c5f5f4f5d33f4f7879d3d103e621dee9c44..786f81ce06caf392bfdd264035c2bace7fb07d6e 100644 (file)
@@ -60,6 +60,14 @@ public class Connection
 
     private SecureRandom generator;
 
+    private Socket precreatedSocket;
+
+    public Connection(Socket socket) {
+        this.precreatedSocket = socket;
+        this.hostname = socket.getInetAddress().getHostName();
+        this.port = socket.getPort();
+    }
+
     /**
      * Unless you know what you are doing, you will never need this.
      *
@@ -745,8 +753,14 @@ public class Connection
 
             try
             {
-                tm.clientInit(hostname, port, softwareversion, cryptoWishList, verifier, dhgexpara, connectTimeout,
-                        getOrCreateSecureRND(), proxyData);
+
+                if (precreatedSocket != null) {
+                    tm.clientInit(precreatedSocket, softwareversion, cryptoWishList, verifier, dhgexpara,
+                            getOrCreateSecureRND());
+                } else {
+                    tm.clientInit(hostname, port, softwareversion, cryptoWishList, verifier, dhgexpara, connectTimeout,
+                            getOrCreateSecureRND(), proxyData);
+                }
             }
             catch (SocketTimeoutException se)
             {