diff --git a/src/client.c b/src/client.c index 72393374..d009a8b0 100644 --- a/src/client.c +++ b/src/client.c @@ -274,7 +274,6 @@ static int dh_handshake(ssh_session session) { return SSH_ERROR; } - session->dh_handshake_state = DH_STATE_INIT_SENT; case DH_STATE_INIT_SENT: /* wait until ssh_packet_dh_reply is called */ break; diff --git a/src/curve25519.c b/src/curve25519.c index 7c216ade..470b81d2 100644 --- a/src/curve25519.c +++ b/src/curve25519.c @@ -79,6 +79,7 @@ int ssh_client_curve25519_init(ssh_session session){ } /* register the packet callbacks */ ssh_packet_set_callbacks(session, &ssh_curve25519_client_callbacks); + session->dh_handshake_state = DH_STATE_INIT_SENT; rc = ssh_packet_send(session); return rc; diff --git a/src/dh.c b/src/dh.c index 3922b0b1..f6a9a039 100644 --- a/src/dh.c +++ b/src/dh.c @@ -516,6 +516,7 @@ int ssh_client_dh_init(ssh_session session){ /* register the packet callbacks */ ssh_packet_set_callbacks(session, &ssh_dh_client_callbacks); + session->dh_handshake_state = DH_STATE_INIT_SENT; rc = ssh_packet_send(session); return rc;