Merge "MD-SAL Statistics Manager -Added group-id to group-statistics API"
[controller.git] / third-party / ganymed / src / main / java / ch / ethz / ssh2 / Connection.java
index bf742c5f5f4f5d33f4f7879d3d103e621dee9c44..aa13c40d9dab53c0ebb38cca47d3c81a6e20b620 100644 (file)
@@ -7,6 +7,7 @@ package ch.ethz.ssh2;
 
 import java.io.CharArrayWriter;
 import java.io.File;
+import java.net.Socket;
 import java.io.FileReader;
 import java.io.IOException;
 import java.net.InetSocketAddress;
@@ -60,6 +61,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 +754,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)
             {