summaryrefslogtreecommitdiff
path: root/kex.c
diff options
context:
space:
mode:
authorKevin Steves <stevesk@pobox.com>2000-12-15 23:31:01 +0000
committerKevin Steves <stevesk@pobox.com>2000-12-15 23:31:01 +0000
commit6b875869654af5b5f83f9e360a4d91010b624728 (patch)
treeeea2082a8def6a7fddee7dd21c76dde573d6165d /kex.c
parent48d0d257220f4ef1ce9c916d76ae56860b7dddda (diff)
- provos@cvs.openbsd.org 2000/12/15 10:30:15
[kex.c kex.h sshconnect2.c sshd.c] compute diffie-hellman in parallel between server and client. okay markus@
Diffstat (limited to 'kex.c')
-rw-r--r--kex.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/kex.c b/kex.c
index 2dbac9b13..3a74fdac4 100644
--- a/kex.c
+++ b/kex.c
@@ -23,7 +23,7 @@
23 */ 23 */
24 24
25#include "includes.h" 25#include "includes.h"
26RCSID("$OpenBSD: kex.c,v 1.13 2000/11/12 19:50:37 markus Exp $"); 26RCSID("$OpenBSD: kex.c,v 1.14 2000/12/15 17:30:14 provos Exp $");
27 27
28#include "ssh.h" 28#include "ssh.h"
29#include "ssh2.h" 29#include "ssh2.h"
@@ -139,7 +139,7 @@ dh_pub_is_valid(DH *dh, BIGNUM *dh_pub)
139 return 0; 139 return 0;
140} 140}
141 141
142DH * 142void
143dh_gen_key(DH *dh) 143dh_gen_key(DH *dh)
144{ 144{
145 int tries = 0; 145 int tries = 0;
@@ -150,7 +150,6 @@ dh_gen_key(DH *dh)
150 if (tries++ > 10) 150 if (tries++ > 10)
151 fatal("dh_new_group1: too many bad keys: giving up"); 151 fatal("dh_new_group1: too many bad keys: giving up");
152 } while (!dh_pub_is_valid(dh, dh->pub_key)); 152 } while (!dh_pub_is_valid(dh, dh->pub_key));
153 return dh;
154} 153}
155 154
156DH * 155DH *
@@ -168,9 +167,14 @@ dh_new_group_asc(const char *gen, const char *modulus)
168 if ((ret = BN_hex2bn(&dh->g, gen)) < 0) 167 if ((ret = BN_hex2bn(&dh->g, gen)) < 0)
169 fatal("BN_hex2bn g"); 168 fatal("BN_hex2bn g");
170 169
171 return (dh_gen_key(dh)); 170 return (dh);
172} 171}
173 172
173/*
174 * This just returns the group, we still need to generate the exchange
175 * value.
176 */
177
174DH * 178DH *
175dh_new_group(BIGNUM *gen, BIGNUM *modulus) 179dh_new_group(BIGNUM *gen, BIGNUM *modulus)
176{ 180{
@@ -182,7 +186,7 @@ dh_new_group(BIGNUM *gen, BIGNUM *modulus)
182 dh->p = modulus; 186 dh->p = modulus;
183 dh->g = gen; 187 dh->g = gen;
184 188
185 return (dh_gen_key(dh)); 189 return (dh);
186} 190}
187 191
188DH * 192DH *