X-Git-Url: http://www.project-moonshot.org/gitweb/?p=openssh.git;a=blobdiff_plain;f=kex.c;h=58349fc1978ab96b38f30b8f3cdda674e19c6ecd;hp=c65e28f94dec274b26a3c0c8a90fee768626c2da;hb=c4431b13b468d93eabfdb2a7e9c4a245678067a5;hpb=fc4c43dfd9d29f097b21cdce5cadee691948dd4a diff --git a/kex.c b/kex.c index c65e28f..58349fc 100644 --- a/kex.c +++ b/kex.c @@ -50,6 +50,10 @@ #include "monitor.h" #include "roaming.h" +#ifdef GSSAPI +#include "ssh-gss.h" +#endif + #if OPENSSL_VERSION_NUMBER >= 0x00907000L # if defined(HAVE_EVP_SHA256) # define evp_ssh_sha256 EVP_sha256 @@ -358,6 +362,20 @@ choose_kex(Kex *k, char *client, char *server) k->kex_type = KEX_ECDH_SHA2; k->evp_md = kex_ecdh_name_to_evpmd(k->name); #endif +#ifdef GSSAPI + } else if (strncmp(k->name, KEX_GSS_GEX_SHA1_ID, + sizeof(KEX_GSS_GEX_SHA1_ID) - 1) == 0) { + k->kex_type = KEX_GSS_GEX_SHA1; + k->evp_md = EVP_sha1(); + } else if (strncmp(k->name, KEX_GSS_GRP1_SHA1_ID, + sizeof(KEX_GSS_GRP1_SHA1_ID) - 1) == 0) { + k->kex_type = KEX_GSS_GRP1_SHA1; + k->evp_md = EVP_sha1(); + } else if (strncmp(k->name, KEX_GSS_GRP14_SHA1_ID, + sizeof(KEX_GSS_GRP14_SHA1_ID) - 1) == 0) { + k->kex_type = KEX_GSS_GRP14_SHA1; + k->evp_md = EVP_sha1(); +#endif } else fatal("bad kex alg %s", k->name); }