--- src/lib/crypto.c.orig 2018-02-02 15:34:39.420489000 -0600 +++ src/lib/crypto.c 2018-02-02 15:35:44.000524000 -0600 @@ -195,7 +195,7 @@ IMPLEMENT_ASN1_FUNCTIONS(SignatureData) IMPLEMENT_ASN1_FUNCTIONS(CryptoData) -#if defined(DEFINE_STACK_OF) +#if ( (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) ) DEFINE_STACK_OF(SignerInfo); DEFINE_STACK_OF(RecipientInfo); #else --- src/lib/openssl-compat.h.orig 2018-02-02 15:26:04.182557000 -0600 +++ src/lib/openssl-compat.h 2018-02-02 15:27:50.229100000 -0600 @@ -1,7 +1,7 @@ #ifndef __OPENSSL_COPMAT__H__ #define __OPENSSL_COPMAT__H__ -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) +#if ( (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) ) static inline int EVP_PKEY_up_ref(EVP_PKEY *pkey) { CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY); --- src/lib/tls.c.orig 2017-11-21 18:37:16.000000000 +0100 +++ src/lib/tls.c 2018-04-16 20:00:54.082000000 +0200 @@ -116,7 +116,7 @@ ctx = (TLS_CONTEXT *)malloc(sizeof(TLS_CONTEXT)); /* Allocate our OpenSSL TLS Context */ -#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) +#if ( (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) ) /* Allows SSLv3, TLSv1, TLSv1.1 and TLSv1.2 protocols */ ctx->openssl = SSL_CTX_new(TLS_method());