diff --git a/src/mongoc/mongoc-stream-tls-openssl-bio.c b/src/mongoc/mongoc-stream-tls-openssl-bio.c index 053439b..0379a5d 100644 --- a/src/mongoc/mongoc-stream-tls-openssl-bio.c +++ b/src/mongoc/mongoc-stream-tls-openssl-bio.c @@ -39,7 +39,7 @@ #define MONGOC_LOG_DOMAIN "stream-tls-openssl-bio" -#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) +#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* Magic vtable to make our BIO shim */ static BIO_METHOD gMongocStreamTlsOpenSslRawMethods = { diff --git a/src/mongoc/mongoc-stream-tls-openssl.c b/src/mongoc/mongoc-stream-tls-openssl.c index fd1800b..bccae22 100644 --- a/src/mongoc/mongoc-stream-tls-openssl.c +++ b/src/mongoc/mongoc-stream-tls-openssl.c @@ -45,7 +45,7 @@ #define MONGOC_STREAM_TLS_OPENSSL_BUFFER_SIZE 4096 -#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) +#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) static void BIO_meth_free (BIO_METHOD *meth) { diff --git a/build/autotools/CheckSSL.m4 b/build/autotools/CheckSSL.m4 index 95979c7..03576f5 100644 --- a/build/autotools/CheckSSL.m4 +++ b/build/autotools/CheckSSL.m4 @@ -34,7 +34,7 @@ AS_IF([test "$enable_ssl" != "no"],[ ]) ]) AS_IF([test "$enable_ssl" = "libressl"],[ - PKG_CHECK_MODULES(SSL, [libtls], [enable_ssl=libressl], [ + PKG_CHECK_MODULES(SSL, [libtls libcrypto], [enable_ssl=libressl], [ AC_CHECK_LIB([tls],[tls_init],[ SSL_LIBS="-ltls -lcrypto" enable_ssl=libressl diff --git a/src/mongoc/mongoc-crypto-openssl.c b/src/mongoc/mongoc-crypto-openssl.c index 1b2552c..0e248e7 100644 --- a/src/mongoc/mongoc-crypto-openssl.c +++ b/src/mongoc/mongoc-crypto-openssl.c @@ -38,7 +38,7 @@ mongoc_crypto_openssl_hmac_sha1 (mongoc_crypto_t *crypto, HMAC (EVP_sha1 (), key, key_len, d, n, md, NULL); } -#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) +#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) EVP_MD_CTX * EVP_MD_CTX_new (void) {