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:
@@ -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
|
||||
|
||||
@@ -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 ) );
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 ) );
|
||||
|
||||
@@ -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() );
|
||||
|
||||
Reference in New Issue
Block a user