mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
Add OpenSSL 3.0 support while still supporting OpenSSL 1.1.0 and newer. For this set the OPENSSL_API_COMPAT user defined macro to OpenSSL 1.1.0 (see https://www.openssl.org/docs/manmaster/man7/OPENSSL_API_COMPAT.html) so we don't see any deprecation warnings when using OpenSSL 3.0. In addition, add an compatibility layer for OpenSSL since some OpenSSL API functions were constified with OpenSSL 3.0. Fixes: https://github.com/ibm-s390-linux/s390-tools/issues/112 Reviewed-by: Patrick Steuer <patrick.steuer@de.ibm.com> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
34 lines
1.2 KiB
C
34 lines
1.2 KiB
C
/*
|
|
* OpenSSL compatibility utils
|
|
*
|
|
* Copyright IBM Corp. 2021
|
|
*
|
|
* s390-tools is free software; you can redistribute it and/or modify
|
|
* it under the terms of the MIT license. See LICENSE for details.
|
|
*/
|
|
|
|
#ifndef PV_UTILS_OPENSSL_COMPAT_H
|
|
#define PV_UTILS_OPENSSL_COMPAT_H
|
|
|
|
#include <openssl/opensslv.h>
|
|
#include <openssl/x509.h>
|
|
#include <openssl/x509_vfy.h>
|
|
|
|
#if OPENSSL_VERSION_NUMBER < 0x30000000L
|
|
#define Pv_X509_STORE_CTX_get_current_cert(ctx) \
|
|
X509_STORE_CTX_get_current_cert((X509_STORE_CTX *)(ctx))
|
|
#define Pv_X509_STORE_CTX_get1_crls(ctx, nm) \
|
|
X509_STORE_CTX_get1_crls((X509_STORE_CTX *)(ctx), (X509_NAME *)(nm))
|
|
#define Pv_X509_STORE_set_lookup_crls(st, cb) \
|
|
X509_STORE_set_lookup_crls(st, (X509_STORE_CTX_lookup_crls_fn)(cb))
|
|
#else
|
|
#define Pv_X509_STORE_CTX_get_current_cert(ctx) \
|
|
X509_STORE_CTX_get_current_cert(ctx)
|
|
#define Pv_X509_STORE_CTX_get1_crls(ctx, nm) \
|
|
X509_STORE_CTX_get1_crls(ctx, nm)
|
|
#define Pv_X509_STORE_set_lookup_crls(st, cb) \
|
|
X509_STORE_set_lookup_crls(st, cb)
|
|
#endif
|
|
|
|
#endif
|