diff options
author | 2002-03-06 00:20:54 +0000 | |
---|---|---|
committer | 2002-03-06 00:20:54 +0000 | |
commit | f5f47225102d786dc1d1934a43c24e67155d7991 (patch) | |
tree | 7868cfbb8a2d797664b817db0d84a5ea156142e8 /usr.bin/ssh/dh.c | |
parent | directorys->directories. from beldridg@pobox.com; ok art@ (diff) | |
download | wireguard-openbsd-f5f47225102d786dc1d1934a43c24e67155d7991.tar.xz wireguard-openbsd-f5f47225102d786dc1d1934a43c24e67155d7991.zip |
compat.c
Diffstat (limited to 'usr.bin/ssh/dh.c')
-rw-r--r-- | usr.bin/ssh/dh.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.bin/ssh/dh.c b/usr.bin/ssh/dh.c index 3e1594eae79..e691125e0a8 100644 --- a/usr.bin/ssh/dh.c +++ b/usr.bin/ssh/dh.c @@ -23,13 +23,14 @@ */ #include "includes.h" -RCSID("$OpenBSD: dh.c,v 1.19 2001/12/27 19:37:22 markus Exp $"); +RCSID("$OpenBSD: dh.c,v 1.20 2002/03/06 00:20:54 markus Exp $"); #include "xmalloc.h" #include <openssl/bn.h> #include <openssl/dh.h> #include <openssl/evp.h> +#include <openssl/err.h> #include "buffer.h" #include "cipher.h" @@ -207,8 +208,10 @@ dh_gen_key(DH *dh, int need) if ((dh->priv_key = BN_new()) == NULL) fatal("dh_gen_key: BN_new failed"); /* generate a 2*need bits random private exponent */ - if (!BN_rand(dh->priv_key, 2*need, 0, 0)) - fatal("dh_gen_key: BN_rand failed"); + if (!BN_rand(dh->priv_key, 2*need, 0, 0)) { + int ecode = ERR_get_error(); + fatal("dh_gen_key: BN_rand failed: %s", ERR_error_string(ecode, NULL)); + } if (DH_generate_key(dh) == 0) fatal("DH_generate_key"); for (i = 0; i <= BN_num_bits(dh->priv_key); i++) |