summaryrefslogtreecommitdiff
path: root/kex.c
diff options
context:
space:
mode:
Diffstat (limited to 'kex.c')
-rw-r--r--kex.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/kex.c b/kex.c
index 913e92392..c17d652c9 100644
--- a/kex.c
+++ b/kex.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: kex.c,v 1.117 2016/02/08 10:57:07 djm Exp $ */ 1/* $OpenBSD: kex.c,v 1.118 2016/05/02 10:26:04 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
4 * 4 *
@@ -35,6 +35,7 @@
35 35
36#ifdef WITH_OPENSSL 36#ifdef WITH_OPENSSL
37#include <openssl/crypto.h> 37#include <openssl/crypto.h>
38#include <openssl/dh.h>
38#endif 39#endif
39 40
40#include "ssh2.h" 41#include "ssh2.h"
@@ -92,7 +93,10 @@ struct kexalg {
92static const struct kexalg kexalgs[] = { 93static const struct kexalg kexalgs[] = {
93#ifdef WITH_OPENSSL 94#ifdef WITH_OPENSSL
94 { KEX_DH1, KEX_DH_GRP1_SHA1, 0, SSH_DIGEST_SHA1 }, 95 { KEX_DH1, KEX_DH_GRP1_SHA1, 0, SSH_DIGEST_SHA1 },
95 { KEX_DH14, KEX_DH_GRP14_SHA1, 0, SSH_DIGEST_SHA1 }, 96 { KEX_DH14_SHA1, KEX_DH_GRP14_SHA1, 0, SSH_DIGEST_SHA1 },
97 { KEX_DH14_SHA256, KEX_DH_GRP14_SHA256, 0, SSH_DIGEST_SHA256 },
98 { KEX_DH16_SHA512, KEX_DH_GRP16_SHA512, 0, SSH_DIGEST_SHA512 },
99 { KEX_DH18_SHA512, KEX_DH_GRP18_SHA512, 0, SSH_DIGEST_SHA512 },
96 { KEX_DHGEX_SHA1, KEX_DH_GEX_SHA1, 0, SSH_DIGEST_SHA1 }, 100 { KEX_DHGEX_SHA1, KEX_DH_GEX_SHA1, 0, SSH_DIGEST_SHA1 },
97#ifdef HAVE_EVP_SHA256 101#ifdef HAVE_EVP_SHA256
98 { KEX_DHGEX_SHA256, KEX_DH_GEX_SHA256, 0, SSH_DIGEST_SHA256 }, 102 { KEX_DHGEX_SHA256, KEX_DH_GEX_SHA256, 0, SSH_DIGEST_SHA256 },
@@ -599,6 +603,9 @@ kex_free(struct kex *kex)
599 sshbuf_free(kex->peer); 603 sshbuf_free(kex->peer);
600 sshbuf_free(kex->my); 604 sshbuf_free(kex->my);
601 free(kex->session_id); 605 free(kex->session_id);
606#ifdef GSSAPI
607 free(kex->gss_host);
608#endif /* GSSAPI */
602 free(kex->client_version_string); 609 free(kex->client_version_string);
603 free(kex->server_version_string); 610 free(kex->server_version_string);
604 free(kex->failed_choice); 611 free(kex->failed_choice);