From 856c70d197fb0a0c0d5ffbd81bd18c83385405ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Czerpak?= Date: Sat, 25 Jan 2025 17:14:45 +0100 Subject: [PATCH] 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 --- ChangeLog.txt | 8 ++++++++ contrib/hbssl/bio.c | 5 +++-- contrib/hbssl/evpciph.c | 2 +- contrib/hbssl/evpenc.c | 6 +++--- contrib/hbssl/evpmd.c | 9 ++++----- contrib/hbssl/ssl.c | 4 ++-- 6 files changed, 21 insertions(+), 13 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 7c3a6ec21a..560530037c 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,14 @@ Entries may not always be in chronological/commit order. See license at the end of file. */ +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 + 2025-01-25 12:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * contrib/hbcurl/core.c ! fixed curl_easy_getinfo( , CURLINFO_CERTINFO, ) call. The diff --git a/contrib/hbssl/bio.c b/contrib/hbssl/bio.c index b1d8266368..dc4e40f38e 100644 --- a/contrib/hbssl/bio.c +++ b/contrib/hbssl/bio.c @@ -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 diff --git a/contrib/hbssl/evpciph.c b/contrib/hbssl/evpciph.c index 19b50b8cae..ed4bdbb448 100644 --- a/contrib/hbssl/evpciph.c +++ b/contrib/hbssl/evpciph.c @@ -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 ) ); diff --git a/contrib/hbssl/evpenc.c b/contrib/hbssl/evpenc.c index 51d2daa8db..105c997efa 100644 --- a/contrib/hbssl/evpenc.c +++ b/contrib/hbssl/evpenc.c @@ -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, diff --git a/contrib/hbssl/evpmd.c b/contrib/hbssl/evpmd.c index 0f1d50bc3b..9b55da348e 100644 --- a/contrib/hbssl/evpmd.c +++ b/contrib/hbssl/evpmd.c @@ -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 ) ); diff --git a/contrib/hbssl/ssl.c b/contrib/hbssl/ssl.c index 64f97de80f..a78087500e 100644 --- a/contrib/hbssl/ssl.c +++ b/contrib/hbssl/ssl.c @@ -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() );