From bc958a19e3181527d79ef7df061d2a3db3cf931b Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 23 Sep 2022 14:17:20 +0200 Subject: [PATCH] openssl-util: Allow declaring openssl struct pointers without openssl --- src/shared/openssl-util.h | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/shared/openssl-util.h b/src/shared/openssl-util.h index 3dda19582b..a73b6da09f 100644 --- a/src/shared/openssl-util.h +++ b/src/shared/openssl-util.h @@ -20,10 +20,8 @@ # include # endif -DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(X509*, X509_free, NULL); DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(X509_NAME*, X509_NAME_free, NULL); DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EVP_PKEY_CTX*, EVP_PKEY_CTX_free, NULL); -DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EVP_PKEY*, EVP_PKEY_free, NULL); DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EVP_CIPHER_CTX*, EVP_CIPHER_CTX_free, NULL); DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EC_POINT*, EC_POINT_free, NULL); DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EC_GROUP*, EC_GROUP_free, NULL); @@ -50,8 +48,26 @@ int rsa_pkey_to_suitable_key_size(EVP_PKEY *pkey, size_t *ret_suitable_key_size) int pubkey_fingerprint(EVP_PKEY *pk, const EVP_MD *md, void **ret, size_t *ret_size); +#else + +typedef struct X509 X509; +typedef struct EVP_PKEY EVP_PKEY; + +static inline void *X509_free(X509 *p) { + assert(p == NULL); + return NULL; +} + +static inline void *EVP_PKEY_free(EVP_PKEY *p) { + assert(p == NULL); + return NULL; +} + #endif +DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(X509*, X509_free, NULL); +DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EVP_PKEY*, EVP_PKEY_free, NULL); + #if PREFER_OPENSSL /* The openssl definition */ typedef const EVP_MD* hash_md_t; -- 2.25.1