summaryrefslogtreecommitdiff
path: root/kexdh.c
diff options
context:
space:
mode:
Diffstat (limited to 'kexdh.c')
-rw-r--r--kexdh.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/kexdh.c b/kexdh.c
index 8449ec06a..7b6a22040 100644
--- a/kexdh.c
+++ b/kexdh.c
@@ -23,7 +23,7 @@
23 */ 23 */
24 24
25#include "includes.h" 25#include "includes.h"
26RCSID("$OpenBSD: kexdh.c,v 1.2 2001/04/03 23:32:12 markus Exp $"); 26RCSID("$OpenBSD: kexdh.c,v 1.3 2001/04/04 09:48:34 markus Exp $");
27 27
28#include <openssl/crypto.h> 28#include <openssl/crypto.h>
29#include <openssl/bn.h> 29#include <openssl/bn.h>
@@ -170,8 +170,8 @@ kexdh_client(Kex *kex)
170 shared_secret 170 shared_secret
171 ); 171 );
172 xfree(server_host_key_blob); 172 xfree(server_host_key_blob);
173 DH_free(dh);
174 BN_free(dh_server_pub); 173 BN_free(dh_server_pub);
174 DH_free(dh);
175 175
176 if (key_verify(server_host_key, (u_char *)signature, slen, hash, 20) != 1) 176 if (key_verify(server_host_key, (u_char *)signature, slen, hash, 20) != 1)
177 fatal("key_verify failed for server_host_key"); 177 fatal("key_verify failed for server_host_key");
@@ -187,7 +187,7 @@ kexdh_client(Kex *kex)
187 187
188 kex_derive_keys(kex, hash, shared_secret); 188 kex_derive_keys(kex, hash, shared_secret);
189 BN_clear_free(shared_secret); 189 BN_clear_free(shared_secret);
190 kex_send_newkeys(); 190 kex_finish(kex);
191} 191}
192 192
193/* server */ 193/* server */
@@ -283,15 +283,15 @@ kexdh_server(Kex *kex)
283 packet_put_bignum2(dh->pub_key); /* f */ 283 packet_put_bignum2(dh->pub_key); /* f */
284 packet_put_string((char *)signature, slen); 284 packet_put_string((char *)signature, slen);
285 packet_send(); 285 packet_send();
286
286 xfree(signature); 287 xfree(signature);
287 xfree(server_host_key_blob); 288 xfree(server_host_key_blob);
289 /* have keys, free DH */
290 DH_free(dh);
288 291
289 kex_derive_keys(kex, hash, shared_secret); 292 kex_derive_keys(kex, hash, shared_secret);
290 BN_clear_free(shared_secret); 293 BN_clear_free(shared_secret);
291 kex_send_newkeys(); 294 kex_finish(kex);
292
293 /* have keys, free DH */
294 DH_free(dh);
295} 295}
296 296
297void 297void