summaryrefslogtreecommitdiff
path: root/kexdhc.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2004-06-15 10:30:09 +1000
committerDamien Miller <djm@mindrot.org>2004-06-15 10:30:09 +1000
commitf675fc4948b2ec2c9ff86bcdd58e00947f0e319b (patch)
treebabb42f0a29e7b24284a731cb894454d8f80fc97 /kexdhc.c
parent7cf17eb78c71ba16ec39bb1a6a8640885071a307 (diff)
- djm@cvs.openbsd.org 2004/06/13 12:53:24
[dh.c dh.h kex.c kex.h kexdhc.c kexdhs.c monitor.c myproposal.h] [ssh-keyscan.c sshconnect2.c sshd.c] implement diffie-hellman-group14-sha1 kex method (trivial extension to existing diffie-hellman-group1-sha1); ok markus@
Diffstat (limited to 'kexdhc.c')
-rw-r--r--kexdhc.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/kexdhc.c b/kexdhc.c
index fe6dc53f8..f48bd4678 100644
--- a/kexdhc.c
+++ b/kexdhc.c
@@ -23,7 +23,7 @@
23 */ 23 */
24 24
25#include "includes.h" 25#include "includes.h"
26RCSID("$OpenBSD: kexdhc.c,v 1.1 2003/02/16 17:09:57 markus Exp $"); 26RCSID("$OpenBSD: kexdhc.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"
@@ -44,7 +44,16 @@ kexdh_client(Kex *kex)
44 u_int klen, kout, slen, sbloblen; 44 u_int klen, kout, slen, sbloblen;
45 45
46 /* generate and send 'e', client DH public key */ 46 /* generate and send 'e', client DH public key */
47 dh = dh_new_group1(); 47 switch (kex->kex_type) {
48 case KEX_DH_GRP1_SHA1:
49 dh = dh_new_group1();
50 break;
51 case KEX_DH_GRP14_SHA1:
52 dh = dh_new_group14();
53 break;
54 default:
55 fatal("%s: Unexpected KEX type %d", __func__, kex->kex_type);
56 }
48 dh_gen_key(dh, kex->we_need * 8); 57 dh_gen_key(dh, kex->we_need * 8);
49 packet_start(SSH2_MSG_KEXDH_INIT); 58 packet_start(SSH2_MSG_KEXDH_INIT);
50 packet_put_bignum2(dh->pub_key); 59 packet_put_bignum2(dh->pub_key);