From 8013782a89df847d4c6d24a4f6f6f82310fb36e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Czerpak?= Date: Tue, 28 Jan 2025 12:01:47 +0100 Subject: [PATCH] 2025-01-28 12:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * contrib/hbssl/bio.c ! use BIO_ADDR* in OpenSSL >= 1.1.0 and do not use it in LibreSSL --- ChangeLog.txt | 4 ++++ contrib/hbssl/bio.c | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index f8af7d4884..4890ea65c0 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,10 @@ Entries may not always be in chronological/commit order. See license at the end of file. */ +2025-01-28 12:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * contrib/hbssl/bio.c + ! use BIO_ADDR* in OpenSSL >= 1.1.0 and do not use it in LibreSSL + 2025-01-28 11:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * contrib/hbssl/hbssl.hbx * contrib/hbssl/bio.c diff --git a/contrib/hbssl/bio.c b/contrib/hbssl/bio.c index bee4dc4729..b870718934 100644 --- a/contrib/hbssl/bio.c +++ b/contrib/hbssl/bio.c @@ -751,7 +751,8 @@ HB_FUNC( BIO_GET_CONN_IP ) if( bio ) { -#if OPENSSL_VERSION_NUMBER >= 0x10100000L +#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && \ + ! defined( LIBRESSL_VERSION_NUMBER ) const BIO_ADDR * ba = BIO_get_conn_address( bio ); char * pszAddr = ba ? BIO_ADDR_hostname_string( ba, 1 ) : NULL; @@ -779,7 +780,7 @@ 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 >= 0x1010000fL && \ ! defined( LIBRESSL_VERSION_NUMBER ) const BIO_ADDR * ba = BIO_get_conn_address( bio ); hb_retnl( ba ? hb_socketNToHS( BIO_ADDR_rawport( ba ) ) : 0 ); @@ -798,6 +799,8 @@ HB_FUNC( BIO_GET_CONN_ADDRESS ) { BIO * bio = hb_BIO_par( 1 ); +#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && \ + ! defined( LIBRESSL_VERSION_NUMBER ) if( bio ) { const BIO_ADDR * ba = BIO_get_conn_address( bio ); @@ -818,6 +821,9 @@ HB_FUNC( BIO_GET_CONN_ADDRESS ) } else hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); +#else + hb_errRT_BASE( EG_UNSUPPORTED, 2001, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); +#endif } HB_FUNC( BIO_SET_NBIO )