diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2011-09-16 23:36:20 +0200 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2011-09-18 20:34:15 +0200 |
commit | 07abc3406df3b6b37471e10e495efb79003f5679 (patch) | |
tree | 73b635f912977b6d3cf5c8e3830d527eb3aef1ed /src/client.c | |
parent | 1b10b175fcd5c6f205168434cc5f6aca51b1d298 (diff) | |
download | libssh-07abc3406df3b6b37471e10e495efb79003f5679.tar.gz libssh-07abc3406df3b6b37471e10e495efb79003f5679.tar.xz libssh-07abc3406df3b6b37471e10e495efb79003f5679.zip |
kex: split key selection and sending
Diffstat (limited to 'src/client.c')
-rw-r--r-- | src/client.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/client.c b/src/client.c index c8500ba..f368307 100644 --- a/src/client.c +++ b/src/client.c @@ -546,9 +546,11 @@ static void ssh_client_connection_callback(ssh_session session){ case SSH_SESSION_STATE_KEXINIT_RECEIVED: set_status(session,0.6f); ssh_list_kex(session, &session->server_kex); - if (set_kex(session) < 0) { + if (set_client_kex(session) < 0) { goto error; } + if (ssh_kex_select_methods(session) == SSH_ERROR) + goto error; if (ssh_send_kex(session, 0) < 0) { goto error; } @@ -819,8 +821,7 @@ error: SAFE_FREE(session->server_kex.methods[i]); } } - SAFE_FREE(session->client_kex.methods); - SAFE_FREE(session->server_kex.methods); + if(session->ssh_message_list){ ssh_message msg; while((msg=ssh_list_pop_head(ssh_message ,session->ssh_message_list)) |