*/
#include "includes.h"
-RCSID("$OpenBSD: kex.c,v 1.13 2000/11/12 19:50:37 markus Exp $");
+RCSID("$OpenBSD: kex.c,v 1.14 2000/12/15 17:30:14 provos Exp $");
#include "ssh.h"
#include "ssh2.h"
return 0;
}
-DH *
+void
dh_gen_key(DH *dh)
{
int tries = 0;
if (tries++ > 10)
fatal("dh_new_group1: too many bad keys: giving up");
} while (!dh_pub_is_valid(dh, dh->pub_key));
- return dh;
}
DH *
if ((ret = BN_hex2bn(&dh->g, gen)) < 0)
fatal("BN_hex2bn g");
- return (dh_gen_key(dh));
+ return (dh);
}
+/*
+ * This just returns the group, we still need to generate the exchange
+ * value.
+ */
+
DH *
dh_new_group(BIGNUM *gen, BIGNUM *modulus)
{
dh->p = modulus;
dh->g = gen;
- return (dh_gen_key(dh));
+ return (dh);
}
DH *