2025-01-25 17:14 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* contrib/hbssl/bio.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/evpenc.c
  * contrib/hbssl/evpmd.c
  * contrib/hbssl/ssl.c
    * updated to compile with newer versions of LibreSSL
This commit is contained in:
Przemysław Czerpak
2025-01-25 17:14:45 +01:00
parent c114c98743
commit 856c70d197
6 changed files with 21 additions and 13 deletions

View File

@@ -224,7 +224,7 @@ HB_FUNC( BIO_SET )
if( bio && hb_BIO_METHOD_is( 2 ) )
#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
defined( LIBRESSL_VERSION_NUMBER )
( defined( LIBRESSL_VERSION_NUMBER ) && LIBRESSL_VERSION_NUMBER < 0x30900000L )
hb_retni( BIO_set( bio, hb_BIO_METHOD_par( 2 ) ) );
#else
hb_retni( 0 );
@@ -770,7 +770,8 @@ HB_FUNC( BIO_GET_CONN_INT_PORT )
OPENSSL_VERSION_NUMBER == 0x1000112fL /* 1.0.1r */
/* Fix for header regression */
hb_retnl( BIO_ctrl( bio, BIO_C_GET_CONNECT, 3, NULL ) );
#elif OPENSSL_VERSION_NUMBER >= 0x1010007fL
#elif OPENSSL_VERSION_NUMBER >= 0x1010007fL && \
! defined( LIBRESSL_VERSION_NUMBER )
const BIO_ADDR * ba = BIO_get_conn_address( bio );
hb_retnl( ba ? hb_socketNToHS( BIO_ADDR_rawport( ba ) ) : 0 );
#else

View File

@@ -503,7 +503,7 @@ HB_FUNC( EVP_CIPHER_CTX_RESET )
if( ctx )
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
! defined( LIBRESSL_VERSION_NUMBER )
( ! defined( LIBRESSL_VERSION_NUMBER ) || LIBRESSL_VERSION_NUMBER >= 0x20700000L )
hb_retni( EVP_CIPHER_CTX_reset( ctx ) );
#else
hb_retni( EVP_CIPHER_CTX_cleanup( ctx ) );

View File

@@ -58,7 +58,7 @@ static HB_GARBAGE_FUNC( EVP_ENCODE_CTX_release )
if( ph && *ph )
{
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
! defined( LIBRESSL_VERSION_NUMBER )
( ! defined( LIBRESSL_VERSION_NUMBER ) || LIBRESSL_VERSION_NUMBER >= 0x20900000L )
EVP_ENCODE_CTX_free( ( EVP_ENCODE_CTX * ) *ph );
#else
/* Destroy the object */
@@ -94,7 +94,7 @@ HB_FUNC( EVP_ENCODE_CTX_NEW )
EVP_ENCODE_CTX * ctx;
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
! defined( LIBRESSL_VERSION_NUMBER )
( ! defined( LIBRESSL_VERSION_NUMBER ) || LIBRESSL_VERSION_NUMBER >= 0x20900000L )
ctx = EVP_ENCODE_CTX_new();
#else
ctx = ( EVP_ENCODE_CTX * ) hb_xgrabz( sizeof( EVP_ENCODE_CTX ) );
@@ -133,7 +133,7 @@ HB_FUNC( EVP_ENCODEUPDATE )
int result;
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
! defined( LIBRESSL_VERSION_NUMBER )
( ! defined( LIBRESSL_VERSION_NUMBER ) || LIBRESSL_VERSION_NUMBER >= 0x20900000L )
result = EVP_EncodeUpdate( ctx,
buffer,
&size,

View File

@@ -68,7 +68,7 @@ static HB_GARBAGE_FUNC( EVP_MD_CTX_release )
if( ph && *ph )
{
/* Destroy the object */
#if defined( LIBRESSL_VERSION_NUMBER )
#if defined( LIBRESSL_VERSION_NUMBER ) && LIBRESSL_VERSION_NUMBER < 0x20700000L
EVP_MD_CTX_destroy( ( EVP_MD_CTX * ) *ph );
#elif OPENSSL_VERSION_NUMBER >= 0x00907000L
EVP_MD_CTX_free( ( EVP_MD_CTX * ) *ph );
@@ -266,7 +266,7 @@ HB_FUNC( EVP_MD_CTX_NEW )
EVP_MD_CTX * ctx;
#if OPENSSL_VERSION_NUMBER >= 0x00907000L && \
! defined( LIBRESSL_VERSION_NUMBER )
( ! defined( LIBRESSL_VERSION_NUMBER ) || LIBRESSL_VERSION_NUMBER >= 0x20700000L )
ctx = EVP_MD_CTX_new();
#else
ctx = ( EVP_MD_CTX * ) hb_xgrabz( sizeof( EVP_MD_CTX ) );
@@ -287,9 +287,8 @@ HB_FUNC( EVP_MD_CTX_RESET )
if( ctx )
{
#if defined( LIBRESSL_VERSION_NUMBER )
hb_retni( EVP_MD_CTX_cleanup( ctx ) );
#elif OPENSSL_VERSION_NUMBER >= 0x10100000L
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
( ! defined( LIBRESSL_VERSION_NUMBER ) || LIBRESSL_VERSION_NUMBER >= 0x20700000L )
hb_retni( EVP_MD_CTX_reset( ctx ) );
#elif OPENSSL_VERSION_NUMBER >= 0x00907000L
hb_retni( EVP_MD_CTX_cleanup( ctx ) );

View File

@@ -134,7 +134,7 @@ HB_FUNC( OPENSSL_VERSION )
int value = hb_parni( 1 );
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
! defined( LIBRESSL_VERSION_NUMBER )
( ! defined( LIBRESSL_VERSION_NUMBER ) || LIBRESSL_VERSION_NUMBER >= 0x30500000L )
switch( value )
{
case HB_OPENSSL_VERSION: value = OPENSSL_VERSION; break;
@@ -165,7 +165,7 @@ HB_FUNC( OPENSSL_VERSION_NUMBER )
HB_FUNC( OPENSSL_VERSION_NUM )
{
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
! defined( LIBRESSL_VERSION_NUMBER )
( ! defined( LIBRESSL_VERSION_NUMBER ) || LIBRESSL_VERSION_NUMBER >= 0x30500000L )
hb_retnint( OpenSSL_version_num() );
#else
hb_retnint( SSLeay() );