Mercurial > 510Connectbot
comparison src/ch/ethz/ssh2/transport/ServerTransportManager.java @ 342:175c7d68f3c4
merge ganymed into mainline
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Thu, 31 Jul 2014 16:33:38 -0700 |
parents | 071eccdff8ea |
children |
comparison
equal
deleted
inserted
replaced
272:ce2f4e397703 | 342:175c7d68f3c4 |
---|---|
1 package ch.ethz.ssh2.transport; | |
2 | |
3 import java.io.IOException; | |
4 import java.net.Socket; | |
5 | |
6 import ch.ethz.ssh2.server.ServerConnectionState; | |
7 | |
8 /** | |
9 * @version $Id: ServerTransportManager.java 151 2014-04-28 10:03:39Z dkocher@sudo.ch $ | |
10 */ | |
11 public class ServerTransportManager extends TransportManager { | |
12 | |
13 private final Socket sock; | |
14 | |
15 public ServerTransportManager(final Socket socket) { | |
16 super(socket); | |
17 // TCP connection is already established | |
18 this.sock = socket; | |
19 } | |
20 | |
21 public void connect(ServerConnectionState state) throws IOException { | |
22 /* Parse the client lin | |
23 e and say hello - important: this information is later needed for the | |
24 * key exchange (to stop man-in-the-middle attacks) - that is why we wrap it into an object | |
25 * for later use. | |
26 */ | |
27 state.csh = ClientServerHello.serverHello(state.softwareversion, sock.getInputStream(), sock.getOutputStream()); | |
28 TransportConnection tc = new TransportConnection(sock.getInputStream(), sock.getOutputStream(), state.generator); | |
29 KexManager km = new ServerKexManager(state); | |
30 super.init(tc, km); | |
31 km.initiateKEX(state.next_cryptoWishList, null, state.next_dsa_key, state.next_rsa_key, state.next_ec_key); | |
32 this.startReceiver(); | |
33 } | |
34 } |