diff options
Diffstat (limited to 'kexdhs.c')
-rw-r--r-- | kexdhs.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -23,7 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "includes.h" | 25 | #include "includes.h" |
26 | RCSID("$OpenBSD: kexdhs.c,v 1.1 2003/02/16 17:09:57 markus Exp $"); | 26 | RCSID("$OpenBSD: kexdhs.c,v 1.2 2004/06/13 12:53:24 djm Exp $"); |
27 | 27 | ||
28 | #include "xmalloc.h" | 28 | #include "xmalloc.h" |
29 | #include "key.h" | 29 | #include "key.h" |
@@ -45,7 +45,16 @@ kexdh_server(Kex *kex) | |||
45 | u_int slen; | 45 | u_int slen; |
46 | 46 | ||
47 | /* generate server DH public key */ | 47 | /* generate server DH public key */ |
48 | dh = dh_new_group1(); | 48 | switch (kex->kex_type) { |
49 | case KEX_DH_GRP1_SHA1: | ||
50 | dh = dh_new_group1(); | ||
51 | break; | ||
52 | case KEX_DH_GRP14_SHA1: | ||
53 | dh = dh_new_group14(); | ||
54 | break; | ||
55 | default: | ||
56 | fatal("%s: Unexpected KEX type %d", __func__, kex->kex_type); | ||
57 | } | ||
49 | dh_gen_key(dh, kex->we_need * 8); | 58 | dh_gen_key(dh, kex->we_need * 8); |
50 | 59 | ||
51 | debug("expecting SSH2_MSG_KEXDH_INIT"); | 60 | debug("expecting SSH2_MSG_KEXDH_INIT"); |