$OpenBSD: patch-src_libopensc_sc-ossl-compat_h,v 1.3 2018/02/18 14:21:23 sthen Exp $

Index: src/libopensc/sc-ossl-compat.h
--- src/libopensc/sc-ossl-compat.h.orig
+++ src/libopensc/sc-ossl-compat.h
@@ -92,12 +92,16 @@ extern "C" {
 #define RSA_PKCS1_OpenSSL		RSA_PKCS1_SSLeay
 #define OPENSSL_malloc_init		CRYPTO_malloc_init
 
+#if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2070000fL
 #define EVP_PKEY_get0_RSA(x)		(x->pkey.rsa)
 #define EVP_PKEY_get0_DSA(x)		(x->pkey.dsa)
+#endif
 #define X509_get_extension_flags(x)	(x->ex_flags)
 #define X509_get_key_usage(x)		(x->ex_kusage)
 #define X509_get_extended_key_usage(x)	(x->ex_xkusage)
+#if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2070000fL
 #define EVP_PKEY_up_ref(user_key)	CRYPTO_add(&user_key->references, 1, CRYPTO_LOCK_EVP_PKEY)
+#endif
 #if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2050300fL
 #define X509_up_ref(cert)		CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509)
 #endif
@@ -110,7 +114,8 @@ extern "C" {
  * If that is not good enough, versions could be added to libopensc
  */
 
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
+    (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
 /* based on OpenSSL-1.1.0 e_os2.h */
 /* sc_ossl_inline: portable inline definition usable in public headers */
 # if !defined(inline) && !defined(__cplusplus)
@@ -127,9 +132,6 @@ extern "C" {
 # else
 #  define sc_ossl_inline inline
 # endif
-#endif
-
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 
 #define RSA_bits(R) (BN_num_bits(R->n))
 
