]> andersk Git - gssapi-openssh.git/blobdiff - openssh/kex.c
http://www.sxw.org.uk/computing/patches/openssh-4.6p1-gsskex-20070312.patch committed...
[gssapi-openssh.git] / openssh / kex.c
index b2223c5ffa0fb5f31e5a05b5c18777de706fb6da..5f9b1dc409516aac8975e30eb3a541df29805dae 100644 (file)
 #include "dispatch.h"
 #include "monitor.h"
 
+#ifdef GSSAPI
+#include "ssh-gss.h"
+#endif
+
 #define KEX_COOKIE_LEN 16
 
 #if OPENSSL_VERSION_NUMBER >= 0x00907000L
@@ -322,6 +326,20 @@ choose_kex(Kex *k, char *client, char *server)
        } else if (strcmp(k->name, KEX_DHGEX_SHA256) == 0) {
                k->kex_type = KEX_DH_GEX_SHA256;
                k->evp_md = evp_ssh_sha256();
+#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);
This page took 0.034061 seconds and 4 git commands to generate.