pkgsrc/security/libtcpa/patches/patch-examples_createkey.c

38 lines
1.3 KiB
C

$NetBSD: patch-examples_createkey.c,v 1.2 2020/10/26 10:04:12 schmonz Exp $
Fix build with OpenSSL 1.1.
--- examples/createkey.c.orig 2020-03-27 18:50:53.384965280 +0000
+++ examples/createkey.c
@@ -21,7 +21,7 @@ int main(int argc, char *argv[])
keydata q; /* keydata structure for resulting key */
RSA *rsa; /* OpenSSL format Public Key */
FILE *keyfile; /* output file for public key */
- EVP_PKEY pkey; /* OpenSSL public key */
+ EVP_PKEY *pkey; /* OpenSSL public key */
unsigned char pkeyname[256]; /* file name string of public key file */
if (argc < 5) {
@@ -77,18 +77,20 @@ int main(int argc, char *argv[])
}
OpenSSL_add_all_algorithms();
snprintf(pkeyname,sizeof(pkeyname),"%s.pem", argv[3]);
- EVP_PKEY_assign_RSA(&pkey, rsa);
+ pkey = EVP_PKEY_new();
+ EVP_PKEY_assign_RSA(pkey, rsa);
keyfile = fopen(pkeyname, "w");
if (keyfile == NULL) {
fprintf(stderr, "Unable to create public key file\n");
exit(-1);
}
- ret = PEM_write_PUBKEY(keyfile, &pkey);
+ ret = PEM_write_PUBKEY(keyfile, pkey);
if (ret == 0) {
fprintf(stderr, "Unable to write public key file\n");
exit(-1);
}
fclose(keyfile);
RSA_free(rsa);
+ EVP_PKEY_free(pkey);
exit(0);
}