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 b2223c5ff..5f9b1dc40 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#define KEX_COOKIE_LEN 16 56#define KEX_COOKIE_LEN 16
53 57
54#if OPENSSL_VERSION_NUMBER >= 0x00907000L 58#if OPENSSL_VERSION_NUMBER >= 0x00907000L
@@ -323,6 +327,20 @@ choose_kex(Kex *k, char *client, char *server)
323 k->kex_type = KEX_DH_GEX_SHA256; 327 k->kex_type = KEX_DH_GEX_SHA256;
324 k->evp_md = evp_ssh_sha256(); 328 k->evp_md = evp_ssh_sha256();
325#endif 329#endif
330#ifdef GSSAPI
331 } else if (strncmp(k->name, KEX_GSS_GEX_SHA1_ID,
332 sizeof(KEX_GSS_GEX_SHA1_ID) - 1) == 0) {
333 k->kex_type = KEX_GSS_GEX_SHA1;
334 k->evp_md = EVP_sha1();
335 } else if (strncmp(k->name, KEX_GSS_GRP1_SHA1_ID,
336 sizeof(KEX_GSS_GRP1_SHA1_ID) - 1) == 0) {
337 k->kex_type = KEX_GSS_GRP1_SHA1;
338 k->evp_md = EVP_sha1();
339 } else if (strncmp(k->name, KEX_GSS_GRP14_SHA1_ID,
340 sizeof(KEX_GSS_GRP14_SHA1_ID) - 1) == 0) {
341 k->kex_type = KEX_GSS_GRP14_SHA1;
342 k->evp_md = EVP_sha1();
343#endif
326 } else 344 } else
327 fatal("bad kex alg %s", k->name); 345 fatal("bad kex alg %s", k->name);
328} 346}