diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2011-06-12 20:55:58 +0200 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2011-06-12 20:55:58 +0200 |
commit | 3b72bf08802a058cb663a40359ed0e006a1480ca (patch) | |
tree | 7edbcd4d07215559574592f830071a055250a25b /src/client.c | |
parent | 113de1354322f3fb310b23b412c548d8a9e417bc (diff) | |
download | libssh-3b72bf08802a058cb663a40359ed0e006a1480ca.tar.gz libssh-3b72bf08802a058cb663a40359ed0e006a1480ca.tar.xz libssh-3b72bf08802a058cb663a40359ed0e006a1480ca.zip |
Moved DH specific code to dh.h
Diffstat (limited to 'src/client.c')
-rw-r--r-- | src/client.c | 47 |
1 files changed, 3 insertions, 44 deletions
diff --git a/src/client.c b/src/client.c index 84a0ad92..7b2e4494 100644 --- a/src/client.c +++ b/src/client.c @@ -318,39 +318,14 @@ error: * completed */ static int dh_handshake(ssh_session session) { - ssh_string e = NULL; - ssh_string f = NULL; - ssh_string signature = NULL; - int rc = SSH_ERROR; + + int rc = SSH_AGAIN; enter_function(); switch (session->dh_handshake_state) { case DH_STATE_INIT: - if (buffer_add_u8(session->out_buffer, SSH2_MSG_KEXDH_INIT) < 0) { - goto error; - } - - if (dh_generate_x(session) < 0) { - goto error; - } - if (dh_generate_e(session) < 0) { - goto error; - } - - e = dh_get_e(session); - if (e == NULL) { - goto error; - } - - if (buffer_add_ssh_string(session->out_buffer, e) < 0) { - goto error; - } - ssh_string_burn(e); - ssh_string_free(e); - e=NULL; - - rc = packet_send(session); + rc = ssh_client_dh_init(session); if (rc == SSH_ERROR) { goto error; } @@ -371,23 +346,7 @@ static int dh_handshake(ssh_session session) { leave_function(); return SSH_ERROR; } - - leave_function(); - return SSH_AGAIN; error: - if(e != NULL){ - ssh_string_burn(e); - ssh_string_free(e); - } - if(f != NULL){ - ssh_string_burn(f); - ssh_string_free(f); - } - if(signature != NULL){ - ssh_string_burn(signature); - ssh_string_free(signature); - } - leave_function(); return rc; } |