diff --git a/cli-session.c b/cli-session.c index 815f5b6a1b6c4fd857dcbd23ae9a288542f76b31..7019e9325ed9f8902c6f109b221e508a74282c4a 100644 --- a/cli-session.c +++ b/cli-session.c @@ -124,6 +124,8 @@ void cli_session(int sock_in, int sock_out, struct dropbear_progress_connection /* Exchange identification */ send_session_identification(); + kexfirstinitialise(); /* initialise the kex state */ + send_msg_kexinit(); session_loop(cli_sessionloop); diff --git a/common-session.c b/common-session.c index 083b5c52f30a96b4866dd00c02f4569086778b5d..e12584ca6f6f17bb609a7cbcbe89418a111fb408 100644 --- a/common-session.c +++ b/common-session.c @@ -90,8 +90,6 @@ void common_session_init(int sock_in, int sock_out) { ses.maxfd = MAX(ses.maxfd, ses.signal_pipe[0]); ses.maxfd = MAX(ses.maxfd, ses.signal_pipe[1]); - kexfirstinitialise(); /* initialise the kex state */ - ses.writepayload = buf_new(TRANS_MAX_PAYLOAD_LEN); ses.transseq = 0; diff --git a/svr-session.c b/svr-session.c index 8485905c33d1c75894fe7de90afd5dcac8ef9821..d638d59298a8ee8fca1fb164954e30dd1089792e 100644 --- a/svr-session.c +++ b/svr-session.c @@ -138,6 +138,8 @@ void svr_session(int sock, int childpipe) { /* exchange identification, version etc */ send_session_identification(); + + kexfirstinitialise(); /* initialise the kex state */ /* start off with key exchange */ send_msg_kexinit();