Take transmit and receive keys into use separately

This commit is contained in:
Matt Johnston
2013-04-04 00:18:50 +08:00
parent e2c813df4d
commit 7f42096d0f
6 changed files with 64 additions and 54 deletions

View File

@@ -204,8 +204,7 @@ static void cli_sessionloop() {
}
/* A KEX has finished, so we should go back to our KEX_NOTHING state */
if (cli_ses.kex_state != KEX_NOTHING && ses.kexstate.recvkexinit == 0
&& ses.kexstate.sentkexinit == 0) {
if (cli_ses.kex_state != KEX_NOTHING && ses.kexstate.sentnewkeys) {
cli_ses.kex_state = KEX_NOTHING;
}
@@ -218,6 +217,7 @@ static void cli_sessionloop() {
if (ses.kexstate.donefirstkex == 0) {
/* We might reach here if we have partial packet reads or have
* received SSG_MSG_IGNORE etc. Just skip it */
TRACE2(("donefirstkex false\n"))
return;
}