commit 06803e25925486ecef35bab09d091d68b38b2720
parent 93bf18be81aa9e2a0353416b63b276d74ffdc49c
Author: Joris Vink <joris@coders.se>
Date: Mon, 6 Dec 2021 21:21:21 +0100
Get kore to at least build with openssl 3
Diffstat:
3 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/include/kore/kore.h b/include/kore/kore.h
@@ -79,6 +79,11 @@ extern int daemon(int, int);
#endif
#endif
+/* Ignore deprecation warnings for OpenSSL 3 for now. */
+#if defined(OPENSSL_VERSION_MAJOR)
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
#if defined(__OpenBSD__)
#define KORE_USE_PLATFORM_PLEDGE 1
#endif
diff --git a/src/cli.c b/src/cli.c
@@ -26,6 +26,12 @@
#include <openssl/err.h>
#include <openssl/pem.h>
#include <openssl/x509v3.h>
+
+/* Ignore deprecation warnings for OpenSSL 3 for now. */
+#if defined(OPENSSL_VERSION_MAJOR)
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
#endif
#include <ctype.h>
diff --git a/src/keymgr.c b/src/keymgr.c
@@ -689,7 +689,12 @@ keymgr_rsa_encrypt(struct kore_msg *msg, const void *data, struct key *key)
u_int8_t buf[1024];
req = (const struct kore_keyreq *)data;
+
+#if defined(OPENSSL_VERSION_MAJOR)
+ rsa = EVP_PKEY_get0(key->pkey);
+#else
rsa = EVP_PKEY_get0_RSA(key->pkey);
+#endif
keylen = RSA_size(rsa);
if (req->data_len > keylen || keylen > sizeof(buf))
@@ -713,7 +718,12 @@ keymgr_ecdsa_sign(struct kore_msg *msg, const void *data, struct key *key)
u_int8_t sig[1024];
req = (const struct kore_keyreq *)data;
+
+#if defined(OPENSSL_VERSION_MAJOR)
+ ec = EVP_PKEY_get0(key->pkey);
+#else
ec = EVP_PKEY_get0_EC_KEY(key->pkey);
+#endif
len = ECDSA_size(ec);
if (req->data_len > len || len > sizeof(sig))