23 lines
788 B
Text
23 lines
788 B
Text
|
Index: network.c
|
||
|
--- network.c.orig
|
||
|
+++ network.c
|
||
|
@@ -1282,13 +1282,16 @@ DH *
|
||
|
network_crypto_dh()
|
||
|
{
|
||
|
DH *dhp;
|
||
|
+ BIGNUM *p, *g;
|
||
|
|
||
|
if ((dhp = DH_new()) == NULL)
|
||
|
errx(1, "network_crypto_pubkey: DH_new() failure");
|
||
|
- if ((dhp->p = BN_bin2bn(mse_P, CRYPTO_INT_LEN, NULL)) == NULL)
|
||
|
+ if ((p = BN_bin2bn(mse_P, CRYPTO_INT_LEN, NULL)) == NULL)
|
||
|
errx(1, "network_crypto_pubkey: BN_bin2bn(P) failure");
|
||
|
- if ((dhp->g = BN_bin2bn(mse_G, CRYPTO_INT_LEN, NULL)) == NULL)
|
||
|
+ if ((g = BN_bin2bn(mse_G, CRYPTO_INT_LEN, NULL)) == NULL)
|
||
|
errx(1, "network_crypto_pubkey: BN_bin2bn(G) failure");
|
||
|
+ if (DH_set0_pqg(dhp, p, NULL, g) == 0)
|
||
|
+ errx(1, "network_crypto_pubkey: DH_set0_pqg() failure");
|
||
|
if (DH_generate_key(dhp) == 0)
|
||
|
errx(1, "network_crypto_pubkey: DH_generate_key() failure");
|
||
|
|