blob: a79ae1ddf6833e31b8913b65c15653efe9897392 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
https://bugs.gentoo.org/673800
diff --git a/src/VBox/Runtime/common/crypto/ssl-openssl.cpp b/src/VBox/Runtime/common/crypto/ssl-openssl.cpp
index e6d58b75..b2422983 100644
--- a/src/VBox/Runtime/common/crypto/ssl-openssl.cpp
+++ b/src/VBox/Runtime/common/crypto/ssl-openssl.cpp
@@ -271,7 +271,7 @@ RTDECL(int) RTCrSslCreateSessionForNativeSocket(RTCRSSL hSsl, RTHCINTPTR hNative
pSession->pBio = BIO_new_socket(hNativeSocket, BIO_NOCLOSE);
if (pSession->pBio)
{
-# if OPENSSL_VERSION_NUMBER >= 0x10100000
+# if (OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x2070000f
BIO_up_ref(pSession->pBio); /* our reference. */
# endif
SSL_set_bio(pSession->pSsl, pSession->pBio, pSession->pBio);
@@ -319,7 +319,7 @@ static int rtCrSslSessionDestroy(RTCRSSLSESSIONINT *pThis)
ASMAtomicWriteU32(&pThis->u32Magic, ~RTCRSSLSESSIONINT_MAGIC);
SSL_free(pThis->pSsl);
pThis->pSsl = NULL;
-# if OPENSSL_VERSION_NUMBER >= 0x10100000
+# if (OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x2070000f
BIO_free(pThis->pBio);
# endif
pThis->pBio = NULL;
|