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 148cfee80..a09e25228 100644
--- a/kex.c
+++ b/kex.c
@@ -50,6 +50,10 @@
50#include "monitor.h" 50#include "monitor.h"
51#include "roaming.h" 51#include "roaming.h"
52 52
53#ifdef GSSAPI
54#include "ssh-gss.h"
55#endif
56
53#if OPENSSL_VERSION_NUMBER >= 0x00907000L 57#if OPENSSL_VERSION_NUMBER >= 0x00907000L
54# if defined(HAVE_EVP_SHA256) 58# if defined(HAVE_EVP_SHA256)
55# define evp_ssh_sha256 EVP_sha256 59# define evp_ssh_sha256 EVP_sha256
@@ -326,6 +330,20 @@ choose_kex(Kex *k, char *client, char *server)
326 k->kex_type = KEX_DH_GEX_SHA256; 330 k->kex_type = KEX_DH_GEX_SHA256;
327 k->evp_md = evp_ssh_sha256(); 331 k->evp_md = evp_ssh_sha256();
328#endif 332#endif
333#ifdef GSSAPI
334 } else if (strncmp(k->name, KEX_GSS_GEX_SHA1_ID,
335 sizeof(KEX_GSS_GEX_SHA1_ID) - 1) == 0) {
336 k->kex_type = KEX_GSS_GEX_SHA1;
337 k->evp_md = EVP_sha1();
338 } else if (strncmp(k->name, KEX_GSS_GRP1_SHA1_ID,
339 sizeof(KEX_GSS_GRP1_SHA1_ID) - 1) == 0) {
340 k->kex_type = KEX_GSS_GRP1_SHA1;
341 k->evp_md = EVP_sha1();
342 } else if (strncmp(k->name, KEX_GSS_GRP14_SHA1_ID,
343 sizeof(KEX_GSS_GRP14_SHA1_ID) - 1) == 0) {
344 k->kex_type = KEX_GSS_GRP14_SHA1;
345 k->evp_md = EVP_sha1();
346#endif
329 } else 347 } else
330 fatal("bad kex alg %s", k->name); 348 fatal("bad kex alg %s", k->name);
331} 349}