diff options
Diffstat (limited to 'kexdh.c')
-rw-r--r-- | kexdh.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -23,7 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "includes.h" | 25 | #include "includes.h" |
26 | RCSID("$OpenBSD: kexdh.c,v 1.2 2001/04/03 23:32:12 markus Exp $"); | 26 | RCSID("$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 | ||
297 | void | 297 | void |