Ganymed library patch
[controller.git] / third-party / ganymed / src / main / java / ch / ethz / ssh2 / transport / TransportManager.java
index 50e9b287ea077195dbd0edd6e77d56ebb1fd91da..963267082b6a27fa37ea02fff635ad85c9c99dfd 100644 (file)
@@ -551,6 +551,31 @@ public class TransportManager
         receiveThread.start();
     }
 
+    public void clientInit(Socket socket, String softwareversion, CryptoWishList cwl,
+                           ServerHostKeyVerifier verifier, DHGexParameters dhgex, SecureRandom rnd) throws IOException
+    {
+               /* First, establish the TCP connection to the SSH-2 server */
+
+        sock = socket;
+
+               /* Parse the server line and say hello - important: this information is later needed for the
+                * key exchange (to stop man-in-the-middle attacks) - that is why we wrap it into an object
+                * for later use.
+                */
+
+        ClientServerHello csh = ClientServerHello.clientHello(softwareversion, sock.getInputStream(),
+                sock.getOutputStream());
+
+        tc = new TransportConnection(sock.getInputStream(), sock.getOutputStream(), rnd);
+        String hostname = sock.getInetAddress().getHostName();
+        int port = sock.getPort();
+
+        km = new ClientKexManager(this, csh, cwl, hostname, port, verifier, rnd);
+        km.initiateKEX(cwl, dhgex, null, null);
+
+        startReceiver();
+    }
+
     public void clientInit(String hostname, int port, String softwareversion, CryptoWishList cwl,
                            ServerHostKeyVerifier verifier, DHGexParameters dhgex, int connectTimeout, SecureRandom rnd,
                            ProxyData proxyData) throws IOException