[vbox-dev] [PATCH] Fix compilation with LibreSSL <2.7.0

Michael Thayer michael.thayer at oracle.com
Tue Feb 12 09:15:52 UTC 2019


Hello Stefan,

12.02.19 01:22, Stefan Strogin wrote:
> Could somebody review the patch please?
> Or have I done something wrong sending it to this mailing list?

No, just the usual thing - everyone was probably waiting for someone
else to react, then they forgot.  Gently reminding, as you did, was the
right thing to do.  Committed to trunk[1] and to the 6.0 branch.

A general thing (not highly relevant for these two lines, but for other
people reading too) - on the whole we are happy to carry code in the
source which we do not build ourselves as long as it doesn't have a
negative impact (including readability) on our own code.  But of course
we don't test it, so the onus is on whoever uses it to keep it working,
and to field complaints if it doesn't.

Regards
Michael

[1] https://www.virtualbox.org/changeset/77270/vbox

> On 16/01/2019 06:26, Stefan Strogin wrote:
>> BIO_up_ref() was provided since LibreSSL-2.7.0.
>> When 2.6.x is used we get an error:
>>
>> src/VBox/Runtime/common/crypto/ssl-openssl.cpp:275:17: error: ‘BIO_up_ref’ was not declared in this scope
>>                  BIO_up_ref(pSession->pBio); /* our reference. */
>>                  ^~~~~~~~~~
>>
>> See also: https://bugs.gentoo.org/673800
>> The patch is submitted under MIT license.
>> ---
>>  src/VBox/Runtime/common/crypto/ssl-openssl.cpp | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/VBox/Runtime/common/crypto/ssl-openssl.cpp b/src/VBox/Runtime/common/crypto/ssl-openssl.cpp
>> index dbbf4940..5326de4e 100644
>> --- a/src/VBox/Runtime/common/crypto/ssl-openssl.cpp
>> +++ b/src/VBox/Runtime/common/crypto/ssl-openssl.cpp
>> @@ -272,7 +272,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);
>> @@ -320,7 +320,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;
>>
> 
> _______________________________________________
> vbox-dev mailing list
> vbox-dev at virtualbox.org
> https://www.virtualbox.org/mailman/listinfo/vbox-dev
> 

-- 
Michael Thayer | VirtualBox engineer
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | D-71384 Weinstadt

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pEpkey.asc
Type: application/pgp-keys
Size: 2468 bytes
Desc: not available
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20190212/fa7e1a98/attachment.bin>


More information about the vbox-dev mailing list