summaryrefslogtreecommitdiff
path: root/kex.c
diff options
context:
space:
mode:
Diffstat (limited to 'kex.c')
-rw-r--r--kex.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/kex.c b/kex.c
index f4f44f095..4c19be9a0 100644
--- a/kex.c
+++ b/kex.c
@@ -49,6 +49,10 @@
49#include "dispatch.h" 49#include "dispatch.h"
50#include "monitor.h" 50#include "monitor.h"
51 51
52#ifdef GSSAPI
53#include "ssh-gss.h"
54#endif
55
52#if OPENSSL_VERSION_NUMBER >= 0x00907000L 56#if OPENSSL_VERSION_NUMBER >= 0x00907000L
53# if defined(HAVE_EVP_SHA256) 57# if defined(HAVE_EVP_SHA256)
54# define evp_ssh_sha256 EVP_sha256 58# define evp_ssh_sha256 EVP_sha256
@@ -325,6 +329,20 @@ choose_kex(Kex *k, char *client, char *server)
325 k->kex_type = KEX_DH_GEX_SHA256; 329 k->kex_type = KEX_DH_GEX_SHA256;
326 k->evp_md = evp_ssh_sha256(); 330 k->evp_md = evp_ssh_sha256();
327#endif 331#endif
332#ifdef GSSAPI
333 } else if (strncmp(k->name, KEX_GSS_GEX_SHA1_ID,
334 sizeof(KEX_GSS_GEX_SHA1_ID) - 1) == 0) {
335 k->kex_type = KEX_GSS_GEX_SHA1;
336 k->evp_md = EVP_sha1();
337 } else if (strncmp(k->name, KEX_GSS_GRP1_SHA1_ID,
338 sizeof(KEX_GSS_GRP1_SHA1_ID) - 1) == 0) {
339 k->kex_type = KEX_GSS_GRP1_SHA1;
340 k->evp_md = EVP_sha1();
341 } else if (strncmp(k->name, KEX_GSS_GRP14_SHA1_ID,
342 sizeof(KEX_GSS_GRP14_SHA1_ID) - 1) == 0) {
343 k->kex_type = KEX_GSS_GRP14_SHA1;
344 k->evp_md = EVP_sha1();
345#endif
328 } else 346 } else
329 fatal("bad kex alg %s", k->name); 347 fatal("bad kex alg %s", k->name);
330} 348}