ports/net/validns/patches/patch-dnskey_c

32 lines
689 B
Text
Raw Normal View History

2023-08-16 22:26:55 +00:00
https://github.com/tobez/validns/pull/71
Index: dnskey.c
--- dnskey.c.orig
+++ dnskey.c
@@ -145,6 +145,7 @@ int dnskey_build_pkey(struct rr_dnskey *rr)
unsigned int e_bytes;
unsigned char *pk;
int l;
+ BIGNUM *n, *e;
rsa = RSA_new();
if (!rsa)
@@ -165,11 +166,15 @@ int dnskey_build_pkey(struct rr_dnskey *rr)
if (l < e_bytes) /* public key is too short */
goto done;
- rsa->e = BN_bin2bn(pk, e_bytes, NULL);
+ e = BN_bin2bn(pk, e_bytes, NULL);
pk += e_bytes;
l -= e_bytes;
- rsa->n = BN_bin2bn(pk, l, NULL);
+ n = BN_bin2bn(pk, l, NULL);
+ if (!e || !n)
+ goto done;
+
+ RSA_set0_key(rsa, n, e, NULL);
pkey = EVP_PKEY_new();
if (!pkey)