2015-02-19 19:42 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
* contrib/hbssl/err.c
* contrib/hbssl/evpciph.c
* contrib/hbssl/evpmd.c
* contrib/hbssl/hbssl.h
* contrib/hbssl/ssl.c
* contrib/hbssl/ssl_inet.c
! fixed compilation with older OpenSSL versions.
Now minimum supported version of OpenSSL is 0.9.6.
I tested current code only with finals releases (such releases
have 'f' as last hex digit in OPENSSL_VERSION_NUMBER) so it's
possible that some beta release may need additional tunes but now
adopting the code should be quite easy job for anyone who need
to use such OpenSSL version and has same very basic C knowledge.
When older OpenSSL versions are used then warnings:
"passing arg X discards qualifier 'const' from pointer target type"
can appear. I didn't pacified them to not hide some possible bugs
in the future though it breaks C++ compilation so maybe I'll add
such casting using macro redefined only for older versions.
; [TODO] check if HB_OPENSSL_OLD_OSX_ macro is still required and
if not then remove it. Maybe also other DARWIN macros can
be removed.
This commit is contained in:
@@ -10,6 +10,30 @@
|
||||
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
|
||||
*/
|
||||
|
||||
2015-02-19 19:42 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* contrib/hbssl/bio.c
|
||||
* contrib/hbssl/err.c
|
||||
* contrib/hbssl/evpciph.c
|
||||
* contrib/hbssl/evpmd.c
|
||||
* contrib/hbssl/hbssl.h
|
||||
* contrib/hbssl/ssl.c
|
||||
* contrib/hbssl/ssl_inet.c
|
||||
! fixed compilation with older OpenSSL versions.
|
||||
Now minimum supported version of OpenSSL is 0.9.6.
|
||||
I tested current code only with finals releases (such releases
|
||||
have 'f' as last hex digit in OPENSSL_VERSION_NUMBER) so it's
|
||||
possible that some beta release may need additional tunes but now
|
||||
adopting the code should be quite easy job for anyone who need
|
||||
to use such OpenSSL version and has same very basic C knowledge.
|
||||
When older OpenSSL versions are used then warnings:
|
||||
"passing arg X discards qualifier 'const' from pointer target type"
|
||||
can appear. I didn't pacified them to not hide some possible bugs
|
||||
in the future though it breaks C++ compilation so maybe I'll add
|
||||
such casting using macro redefined only for older versions.
|
||||
; [TODO] check if HB_OPENSSL_OLD_OSX_ macro is still required and
|
||||
if not then remove it. Maybe also other DARWIN macros can
|
||||
be removed.
|
||||
|
||||
2015-02-17 18:47 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/rtl/gtwin/gtwin.c
|
||||
* use VK_MENU macro instead of direct value and do not check
|
||||
|
||||
@@ -191,7 +191,7 @@ HB_FUNC( BIO_TEST_FLAGS )
|
||||
BIO * bio = hb_BIO_par( 1 );
|
||||
|
||||
if( bio )
|
||||
#if ! defined( HB_OPENSSL_OLD_OSX_ )
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908050L && ! defined( HB_OPENSSL_OLD_OSX_ )
|
||||
hb_retni( BIO_test_flags( bio, hb_parni( 2 ) ) );
|
||||
#else
|
||||
hb_retni( 0 );
|
||||
@@ -648,7 +648,11 @@ HB_FUNC( BIO_GET_CONN_IP )
|
||||
BIO * bio = hb_BIO_par( 1 );
|
||||
|
||||
if( bio )
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00906040L
|
||||
hb_retc( BIO_get_conn_ip( bio ) );
|
||||
#else
|
||||
hb_retc( BIO_get_conn_ip( bio, 0 ) );
|
||||
#endif
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
}
|
||||
|
||||
@@ -80,7 +80,9 @@ HB_FUNC( ERR_PEEK_ERROR )
|
||||
|
||||
HB_FUNC( ERR_PEEK_LAST_ERROR )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
hb_retnint( ERR_peek_last_error() );
|
||||
#endif
|
||||
}
|
||||
|
||||
HB_FUNC( ERR_ERROR_STRING )
|
||||
@@ -133,6 +135,7 @@ HB_FUNC( ERR_PEEK_ERROR_LINE )
|
||||
|
||||
HB_FUNC( ERR_PEEK_LAST_ERROR_LINE )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
const char * file = NULL;
|
||||
int line = 0;
|
||||
|
||||
@@ -140,6 +143,7 @@ HB_FUNC( ERR_PEEK_LAST_ERROR_LINE )
|
||||
|
||||
hb_storc( file, 1 );
|
||||
hb_storni( line, 2 );
|
||||
#endif
|
||||
}
|
||||
|
||||
HB_FUNC( ERR_GET_ERROR_LINE_DATA )
|
||||
@@ -174,6 +178,7 @@ HB_FUNC( ERR_PEEK_ERROR_LINE_DATA )
|
||||
|
||||
HB_FUNC( ERR_PEEK_LAST_ERROR_LINE_DATA )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
const char * file = NULL;
|
||||
int line = 0;
|
||||
const char * data = NULL;
|
||||
@@ -185,6 +190,7 @@ HB_FUNC( ERR_PEEK_LAST_ERROR_LINE_DATA )
|
||||
hb_storni( line, 2 );
|
||||
hb_storc( data, 3 );
|
||||
hb_storni( flags, 4 );
|
||||
#endif
|
||||
}
|
||||
|
||||
HB_FUNC( ERR_FREE_STRINGS )
|
||||
|
||||
@@ -113,18 +113,22 @@ const EVP_CIPHER * hb_EVP_CIPHER_par( int iParam )
|
||||
case HB_EVP_CIPHER_DES_ECB: p = EVP_des_ecb(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE: p = EVP_des_ede(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE3: p = EVP_des_ede3(); break;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
case HB_EVP_CIPHER_DES_EDE_ECB: p = EVP_des_ede_ecb(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE3_ECB: p = EVP_des_ede3_ecb(); break;
|
||||
case HB_EVP_CIPHER_DES_CFB64: p = EVP_des_cfb64(); break;
|
||||
#endif
|
||||
case HB_EVP_CIPHER_DES_CFB: p = EVP_des_cfb(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE_CFB: p = EVP_des_ede_cfb(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE3_CFB: p = EVP_des_ede3_cfb(); break;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
case HB_EVP_CIPHER_DES_CFB1: p = EVP_des_cfb1(); break;
|
||||
case HB_EVP_CIPHER_DES_CFB8: p = EVP_des_cfb8(); break;
|
||||
case HB_EVP_CIPHER_DES_CFB64: p = EVP_des_cfb64(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE_CFB64: p = EVP_des_ede_cfb64(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE_CFB: p = EVP_des_ede_cfb(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE3_CFB64: p = EVP_des_ede3_cfb64(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE3_CFB: p = EVP_des_ede3_cfb(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE3_CFB1: p = EVP_des_ede3_cfb1(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE3_CFB8: p = EVP_des_ede3_cfb8(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE3_CFB64: p = EVP_des_ede3_cfb64(); break;
|
||||
#endif
|
||||
case HB_EVP_CIPHER_DES_OFB: p = EVP_des_ofb(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE_OFB: p = EVP_des_ede_ofb(); break;
|
||||
case HB_EVP_CIPHER_DES_EDE3_OFB: p = EVP_des_ede3_ofb(); break;
|
||||
@@ -149,51 +153,63 @@ const EVP_CIPHER * hb_EVP_CIPHER_par( int iParam )
|
||||
case HB_EVP_CIPHER_RC2_CBC: p = EVP_rc2_cbc(); break;
|
||||
case HB_EVP_CIPHER_RC2_40_CBC: p = EVP_rc2_40_cbc(); break;
|
||||
case HB_EVP_CIPHER_RC2_64_CBC: p = EVP_rc2_64_cbc(); break;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
case HB_EVP_CIPHER_RC2_CFB64: p = EVP_rc2_cfb64(); break;
|
||||
#endif
|
||||
case HB_EVP_CIPHER_RC2_CFB: p = EVP_rc2_cfb(); break;
|
||||
case HB_EVP_CIPHER_RC2_OFB: p = EVP_rc2_ofb(); break;
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_BF
|
||||
case HB_EVP_CIPHER_BF_ECB: p = EVP_bf_ecb(); break;
|
||||
case HB_EVP_CIPHER_BF_CBC: p = EVP_bf_cbc(); break;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
case HB_EVP_CIPHER_BF_CFB64: p = EVP_bf_cfb64(); break;
|
||||
#endif
|
||||
case HB_EVP_CIPHER_BF_CFB: p = EVP_bf_cfb(); break;
|
||||
case HB_EVP_CIPHER_BF_OFB: p = EVP_bf_ofb(); break;
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CAST
|
||||
case HB_EVP_CIPHER_CAST5_ECB: p = EVP_cast5_ecb(); break;
|
||||
case HB_EVP_CIPHER_CAST5_CBC: p = EVP_cast5_cbc(); break;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
case HB_EVP_CIPHER_CAST5_CFB64: p = EVP_cast5_cfb64(); break;
|
||||
#endif
|
||||
case HB_EVP_CIPHER_CAST5_CFB: p = EVP_cast5_cfb(); break;
|
||||
case HB_EVP_CIPHER_CAST5_OFB: p = EVP_cast5_ofb(); break;
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RC5
|
||||
case HB_EVP_CIPHER_RC5_32_12_16_CBC: p = EVP_rc5_32_12_16_cbc(); break;
|
||||
case HB_EVP_CIPHER_RC5_32_12_16_ECB: p = EVP_rc5_32_12_16_ecb(); break;
|
||||
case HB_EVP_CIPHER_RC5_32_12_16_CFB64: p = EVP_rc5_32_12_16_cfb64(); break;
|
||||
case HB_EVP_CIPHER_RC5_32_12_16_CFB: p = EVP_rc5_32_12_16_cfb(); break;
|
||||
case HB_EVP_CIPHER_RC5_32_12_16_OFB: p = EVP_rc5_32_12_16_ofb(); break;
|
||||
case HB_EVP_CIPHER_RC5_32_12_16_CFB64: p = EVP_rc5_32_12_16_cfb64(); break;
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_AES
|
||||
case HB_EVP_CIPHER_AES_128_ECB: p = EVP_aes_128_ecb(); break;
|
||||
case HB_EVP_CIPHER_AES_128_CBC: p = EVP_aes_128_cbc(); break;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
case HB_EVP_CIPHER_AES_128_CFB1: p = EVP_aes_128_cfb1(); break;
|
||||
case HB_EVP_CIPHER_AES_128_CFB8: p = EVP_aes_128_cfb8(); break;
|
||||
case HB_EVP_CIPHER_AES_128_CFB128: p = EVP_aes_128_cfb128(); break;
|
||||
#endif
|
||||
case HB_EVP_CIPHER_AES_128_CFB: p = EVP_aes_128_cfb(); break;
|
||||
case HB_EVP_CIPHER_AES_128_OFB: p = EVP_aes_128_ofb(); break;
|
||||
case HB_EVP_CIPHER_AES_192_ECB: p = EVP_aes_192_ecb(); break;
|
||||
case HB_EVP_CIPHER_AES_192_CBC: p = EVP_aes_192_cbc(); break;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
case HB_EVP_CIPHER_AES_192_CFB1: p = EVP_aes_192_cfb1(); break;
|
||||
case HB_EVP_CIPHER_AES_192_CFB8: p = EVP_aes_192_cfb8(); break;
|
||||
case HB_EVP_CIPHER_AES_192_CFB128: p = EVP_aes_192_cfb128(); break;
|
||||
#endif
|
||||
case HB_EVP_CIPHER_AES_192_CFB: p = EVP_aes_192_cfb(); break;
|
||||
case HB_EVP_CIPHER_AES_192_OFB: p = EVP_aes_192_ofb(); break;
|
||||
case HB_EVP_CIPHER_AES_256_ECB: p = EVP_aes_256_ecb(); break;
|
||||
case HB_EVP_CIPHER_AES_256_CBC: p = EVP_aes_256_cbc(); break;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
case HB_EVP_CIPHER_AES_256_CFB1: p = EVP_aes_256_cfb1(); break;
|
||||
case HB_EVP_CIPHER_AES_256_CFB8: p = EVP_aes_256_cfb8(); break;
|
||||
case HB_EVP_CIPHER_AES_256_CFB128: p = EVP_aes_256_cfb128(); break;
|
||||
#endif
|
||||
case HB_EVP_CIPHER_AES_256_CFB: p = EVP_aes_256_cfb(); break;
|
||||
case HB_EVP_CIPHER_AES_256_OFB: p = EVP_aes_256_ofb(); break;
|
||||
#endif
|
||||
@@ -242,18 +258,22 @@ static int hb_EVP_CIPHER_ptr_to_id( const EVP_CIPHER * p )
|
||||
else if( p == EVP_des_ecb() ) n = HB_EVP_CIPHER_DES_ECB;
|
||||
else if( p == EVP_des_ede() ) n = HB_EVP_CIPHER_DES_EDE;
|
||||
else if( p == EVP_des_ede3() ) n = HB_EVP_CIPHER_DES_EDE3;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
else if( p == EVP_des_ede_ecb() ) n = HB_EVP_CIPHER_DES_EDE_ECB;
|
||||
else if( p == EVP_des_ede3_ecb() ) n = HB_EVP_CIPHER_DES_EDE3_ECB;
|
||||
else if( p == EVP_des_cfb64() ) n = HB_EVP_CIPHER_DES_CFB64;
|
||||
#endif
|
||||
else if( p == EVP_des_cfb() ) n = HB_EVP_CIPHER_DES_CFB;
|
||||
else if( p == EVP_des_ede_cfb() ) n = HB_EVP_CIPHER_DES_EDE_CFB;
|
||||
else if( p == EVP_des_ede3_cfb() ) n = HB_EVP_CIPHER_DES_EDE3_CFB;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
else if( p == EVP_des_cfb64() ) n = HB_EVP_CIPHER_DES_CFB64;
|
||||
else if( p == EVP_des_cfb1() ) n = HB_EVP_CIPHER_DES_CFB1;
|
||||
else if( p == EVP_des_cfb8() ) n = HB_EVP_CIPHER_DES_CFB8;
|
||||
else if( p == EVP_des_ede_cfb64() ) n = HB_EVP_CIPHER_DES_EDE_CFB64;
|
||||
else if( p == EVP_des_ede_cfb() ) n = HB_EVP_CIPHER_DES_EDE_CFB;
|
||||
else if( p == EVP_des_ede3_cfb64() ) n = HB_EVP_CIPHER_DES_EDE3_CFB64;
|
||||
else if( p == EVP_des_ede3_cfb() ) n = HB_EVP_CIPHER_DES_EDE3_CFB;
|
||||
else if( p == EVP_des_ede3_cfb1() ) n = HB_EVP_CIPHER_DES_EDE3_CFB1;
|
||||
else if( p == EVP_des_ede3_cfb8() ) n = HB_EVP_CIPHER_DES_EDE3_CFB8;
|
||||
#endif
|
||||
else if( p == EVP_des_ofb() ) n = HB_EVP_CIPHER_DES_OFB;
|
||||
else if( p == EVP_des_ede_ofb() ) n = HB_EVP_CIPHER_DES_EDE_OFB;
|
||||
else if( p == EVP_des_ede3_ofb() ) n = HB_EVP_CIPHER_DES_EDE3_OFB;
|
||||
@@ -278,21 +298,27 @@ static int hb_EVP_CIPHER_ptr_to_id( const EVP_CIPHER * p )
|
||||
else if( p == EVP_rc2_cbc() ) n = HB_EVP_CIPHER_RC2_CBC;
|
||||
else if( p == EVP_rc2_40_cbc() ) n = HB_EVP_CIPHER_RC2_40_CBC;
|
||||
else if( p == EVP_rc2_64_cbc() ) n = HB_EVP_CIPHER_RC2_64_CBC;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
else if( p == EVP_rc2_cfb64() ) n = HB_EVP_CIPHER_RC2_CFB64;
|
||||
#endif
|
||||
else if( p == EVP_rc2_cfb() ) n = HB_EVP_CIPHER_RC2_CFB;
|
||||
else if( p == EVP_rc2_ofb() ) n = HB_EVP_CIPHER_RC2_OFB;
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_BF
|
||||
else if( p == EVP_bf_ecb() ) n = HB_EVP_CIPHER_BF_ECB;
|
||||
else if( p == EVP_bf_cbc() ) n = HB_EVP_CIPHER_BF_CBC;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
else if( p == EVP_bf_cfb64() ) n = HB_EVP_CIPHER_BF_CFB64;
|
||||
#endif
|
||||
else if( p == EVP_bf_cfb() ) n = HB_EVP_CIPHER_BF_CFB;
|
||||
else if( p == EVP_bf_ofb() ) n = HB_EVP_CIPHER_BF_OFB;
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CAST
|
||||
else if( p == EVP_cast5_ecb() ) n = HB_EVP_CIPHER_CAST5_ECB;
|
||||
else if( p == EVP_cast5_cbc() ) n = HB_EVP_CIPHER_CAST5_CBC;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
else if( p == EVP_cast5_cfb64() ) n = HB_EVP_CIPHER_CAST5_CFB64;
|
||||
#endif
|
||||
else if( p == EVP_cast5_cfb() ) n = HB_EVP_CIPHER_CAST5_CFB;
|
||||
else if( p == EVP_cast5_ofb() ) n = HB_EVP_CIPHER_CAST5_OFB;
|
||||
#endif
|
||||
@@ -306,23 +332,29 @@ static int hb_EVP_CIPHER_ptr_to_id( const EVP_CIPHER * p )
|
||||
#ifndef OPENSSL_NO_AES
|
||||
else if( p == EVP_aes_128_ecb() ) n = HB_EVP_CIPHER_AES_128_ECB;
|
||||
else if( p == EVP_aes_128_cbc() ) n = HB_EVP_CIPHER_AES_128_CBC;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
else if( p == EVP_aes_128_cfb1() ) n = HB_EVP_CIPHER_AES_128_CFB1;
|
||||
else if( p == EVP_aes_128_cfb8() ) n = HB_EVP_CIPHER_AES_128_CFB8;
|
||||
else if( p == EVP_aes_128_cfb128() ) n = HB_EVP_CIPHER_AES_128_CFB128;
|
||||
#endif
|
||||
else if( p == EVP_aes_128_cfb() ) n = HB_EVP_CIPHER_AES_128_CFB;
|
||||
else if( p == EVP_aes_128_ofb() ) n = HB_EVP_CIPHER_AES_128_OFB;
|
||||
else if( p == EVP_aes_192_ecb() ) n = HB_EVP_CIPHER_AES_192_ECB;
|
||||
else if( p == EVP_aes_192_cbc() ) n = HB_EVP_CIPHER_AES_192_CBC;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
else if( p == EVP_aes_192_cfb1() ) n = HB_EVP_CIPHER_AES_192_CFB1;
|
||||
else if( p == EVP_aes_192_cfb8() ) n = HB_EVP_CIPHER_AES_192_CFB8;
|
||||
else if( p == EVP_aes_192_cfb128() ) n = HB_EVP_CIPHER_AES_192_CFB128;
|
||||
#endif
|
||||
else if( p == EVP_aes_192_cfb() ) n = HB_EVP_CIPHER_AES_192_CFB;
|
||||
else if( p == EVP_aes_192_ofb() ) n = HB_EVP_CIPHER_AES_192_OFB;
|
||||
else if( p == EVP_aes_256_ecb() ) n = HB_EVP_CIPHER_AES_256_ECB;
|
||||
else if( p == EVP_aes_256_cbc() ) n = HB_EVP_CIPHER_AES_256_CBC;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907050L
|
||||
else if( p == EVP_aes_256_cfb1() ) n = HB_EVP_CIPHER_AES_256_CFB1;
|
||||
else if( p == EVP_aes_256_cfb8() ) n = HB_EVP_CIPHER_AES_256_CFB8;
|
||||
else if( p == EVP_aes_256_cfb128() ) n = HB_EVP_CIPHER_AES_256_CFB128;
|
||||
#endif
|
||||
else if( p == EVP_aes_256_cfb() ) n = HB_EVP_CIPHER_AES_256_CFB;
|
||||
else if( p == EVP_aes_256_ofb() ) n = HB_EVP_CIPHER_AES_256_OFB;
|
||||
#endif
|
||||
@@ -416,6 +448,11 @@ HB_FUNC( EVP_CIPHER_KEY_MODE )
|
||||
{
|
||||
const EVP_CIPHER * cipher = hb_EVP_CIPHER_par( 1 );
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x00906040L
|
||||
/* fix for typo in macro definition in openssl/evp.h */
|
||||
#undef EVP_CIPHER_mode
|
||||
#define EVP_CIPHER_mode(e) ((e)->flags & EVP_CIPH_MODE)
|
||||
#endif
|
||||
hb_retni( cipher ? EVP_CIPHER_mode( cipher ) : 0 );
|
||||
}
|
||||
|
||||
@@ -469,10 +506,12 @@ HB_FUNC( EVP_CIPHER_CTX_SET_PADDING )
|
||||
{
|
||||
if( hb_EVP_CIPHER_CTX_is( 1 ) )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_CIPHER_CTX * ctx = hb_EVP_CIPHER_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
hb_retni( EVP_CIPHER_CTX_set_padding( ctx, hb_parni( 2 ) ) );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -557,6 +596,7 @@ HB_FUNC( EVP_ENCRYPTINIT_EX )
|
||||
|
||||
if( hb_EVP_CIPHER_CTX_is( 1 ) && cipher )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_CIPHER_CTX * ctx = hb_EVP_CIPHER_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
@@ -565,6 +605,7 @@ HB_FUNC( EVP_ENCRYPTINIT_EX )
|
||||
( ENGINE * ) hb_parptr( 3 ),
|
||||
( const unsigned char * ) hb_parc( 4 ),
|
||||
( const unsigned char * ) hb_parc( 5 ) ) );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -640,6 +681,7 @@ HB_FUNC( EVP_ENCRYPTFINAL_EX )
|
||||
|
||||
if( ctx )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
int size = EVP_CIPHER_CTX_block_size( ctx );
|
||||
unsigned char * buffer = ( unsigned char * ) hb_xgrab( size + 1 );
|
||||
|
||||
@@ -655,6 +697,7 @@ HB_FUNC( EVP_ENCRYPTFINAL_EX )
|
||||
hb_xfree( buffer );
|
||||
hb_storc( NULL, 2 );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -685,6 +728,7 @@ HB_FUNC( EVP_DECRYPTINIT_EX )
|
||||
|
||||
if( hb_EVP_CIPHER_CTX_is( 1 ) && cipher )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_CIPHER_CTX * ctx = hb_EVP_CIPHER_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
@@ -693,6 +737,7 @@ HB_FUNC( EVP_DECRYPTINIT_EX )
|
||||
( ENGINE * ) hb_parptr( 3 ),
|
||||
( const unsigned char * ) hb_parc( 4 ),
|
||||
( const unsigned char * ) hb_parc( 5 ) ) );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -768,6 +813,7 @@ HB_FUNC( EVP_DECRYPTFINAL_EX )
|
||||
|
||||
if( ctx )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
int size = EVP_CIPHER_CTX_block_size( ctx );
|
||||
unsigned char * buffer = ( unsigned char * ) hb_xgrab( size + 1 );
|
||||
|
||||
@@ -783,6 +829,7 @@ HB_FUNC( EVP_DECRYPTFINAL_EX )
|
||||
hb_xfree( buffer );
|
||||
hb_storc( NULL, 2 );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -814,6 +861,7 @@ HB_FUNC( EVP_CIPHERINIT_EX )
|
||||
|
||||
if( hb_EVP_CIPHER_CTX_is( 1 ) && cipher )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_CIPHER_CTX * ctx = hb_EVP_CIPHER_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
@@ -823,6 +871,7 @@ HB_FUNC( EVP_CIPHERINIT_EX )
|
||||
( const unsigned char * ) hb_parc( 4 ),
|
||||
( const unsigned char * ) hb_parc( 5 ),
|
||||
hb_parni( 6 ) ) );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -898,6 +947,7 @@ HB_FUNC( EVP_CIPHERFINAL_EX )
|
||||
|
||||
if( ctx )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
int size = EVP_CIPHER_CTX_block_size( ctx );
|
||||
unsigned char * buffer = ( unsigned char * ) hb_xgrab( size + 1 );
|
||||
|
||||
@@ -913,6 +963,7 @@ HB_FUNC( EVP_CIPHERFINAL_EX )
|
||||
hb_xfree( buffer );
|
||||
hb_storc( NULL, 2 );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1037,7 +1088,12 @@ HB_FUNC( EVP_SEALFINAL )
|
||||
int size = EVP_CIPHER_CTX_block_size( ctx );
|
||||
unsigned char * buffer = ( unsigned char * ) hb_xgrab( size + 1 );
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
hb_retni( EVP_SealFinal( ctx, buffer, &size ) );
|
||||
#else
|
||||
EVP_SealFinal( ctx, buffer, &size );
|
||||
hb_retni( 1 );
|
||||
#endif
|
||||
|
||||
if( size > 0 )
|
||||
{
|
||||
|
||||
@@ -66,8 +66,12 @@ static HB_GARBAGE_FUNC( EVP_MD_CTX_release )
|
||||
/* Check if pointer is not NULL to avoid multiple freeing */
|
||||
if( ph && *ph )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
/* Destroy the object */
|
||||
EVP_MD_CTX_destroy( ( EVP_MD_CTX * ) *ph );
|
||||
#else
|
||||
hb_xfree( *ph );
|
||||
#endif
|
||||
|
||||
/* set pointer to NULL just in case */
|
||||
*ph = NULL;
|
||||
@@ -121,7 +125,7 @@ const EVP_MD * hb_EVP_MD_par( int iParam )
|
||||
case HB_EVP_MD_SHA1: p = EVP_sha1(); break;
|
||||
case HB_EVP_MD_DSS: p = EVP_dss(); break;
|
||||
case HB_EVP_MD_DSS1: p = EVP_dss1(); break;
|
||||
#if ! defined( HB_OPENSSL_OLD_OSX_ )
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L && ! defined( HB_OPENSSL_OLD_OSX_ )
|
||||
case HB_EVP_MD_ECDSA: p = EVP_ecdsa(); break;
|
||||
#endif
|
||||
#endif
|
||||
@@ -164,7 +168,7 @@ static int hb_EVP_MD_ptr_to_id( const EVP_MD * p )
|
||||
else if( p == EVP_sha1() ) n = HB_EVP_MD_SHA1;
|
||||
else if( p == EVP_dss() ) n = HB_EVP_MD_DSS;
|
||||
else if( p == EVP_dss1() ) n = HB_EVP_MD_DSS1;
|
||||
#if ! defined( HB_OPENSSL_OLD_OSX_ )
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L && ! defined( HB_OPENSSL_OLD_OSX_ )
|
||||
else if( p == EVP_ecdsa() ) n = HB_EVP_MD_ECDSA;
|
||||
#endif
|
||||
#endif
|
||||
@@ -214,7 +218,11 @@ HB_FUNC( EVP_MD_NID )
|
||||
{
|
||||
const EVP_MD * md = hb_EVP_MD_par( 1 );
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
hb_retni( md ? EVP_MD_nid( md ) : 0 );
|
||||
#else
|
||||
hb_retni( md ? EVP_MD_type( md ) : 0 );
|
||||
#endif
|
||||
}
|
||||
|
||||
HB_FUNC( EVP_MD_PKEY_TYPE )
|
||||
@@ -242,7 +250,11 @@ HB_FUNC( EVP_MD_CTX_CREATE )
|
||||
{
|
||||
void ** ph = ( void ** ) hb_gcAllocate( sizeof( EVP_MD_CTX * ), &s_gcEVP_MD_CTX_funcs );
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_MD_CTX * ctx = EVP_MD_CTX_create();
|
||||
#else
|
||||
EVP_MD_CTX * ctx = ( EVP_MD_CTX * ) hb_xgrabz( sizeof( EVP_MD_CTX ) );
|
||||
#endif
|
||||
|
||||
*ph = ctx;
|
||||
|
||||
@@ -253,10 +265,12 @@ HB_FUNC( EVP_MD_CTX_INIT )
|
||||
{
|
||||
if( hb_EVP_MD_CTX_is( 1 ) )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
EVP_MD_CTX_init( ctx );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -266,10 +280,12 @@ HB_FUNC( EVP_MD_CTX_CLEANUP )
|
||||
{
|
||||
if( hb_EVP_MD_CTX_is( 1 ) )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
hb_retni( EVP_MD_CTX_cleanup( ctx ) );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -306,11 +322,13 @@ HB_FUNC( EVP_MD_CTX_COPY_EX )
|
||||
{
|
||||
if( hb_EVP_MD_CTX_is( 1 ) && hb_EVP_MD_CTX_is( 2 ) )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_MD_CTX * ctx_out = hb_EVP_MD_CTX_par( 1 );
|
||||
EVP_MD_CTX * ctx_in = hb_EVP_MD_CTX_par( 2 );
|
||||
|
||||
if( ctx_out && ctx_in )
|
||||
hb_retni( EVP_MD_CTX_copy_ex( ctx_out, ctx_in ) );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -325,7 +343,14 @@ HB_FUNC( EVP_DIGESTINIT )
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
hb_retni( EVP_DigestInit( ctx, md ) );
|
||||
#else
|
||||
EVP_DigestInit( ctx, md );
|
||||
hb_retni( 1 );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -337,10 +362,12 @@ HB_FUNC( EVP_DIGESTINIT_EX )
|
||||
|
||||
if( hb_EVP_MD_CTX_is( 1 ) && md )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
hb_retni( EVP_DigestInit_ex( ctx, md, ( ENGINE * ) hb_parptr( 3 ) ) );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -353,7 +380,14 @@ HB_FUNC( EVP_DIGESTUPDATE )
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
hb_retni( EVP_DigestUpdate( ctx, hb_parcx( 2 ), ( size_t ) hb_parclen( 2 ) ) );
|
||||
#else
|
||||
EVP_DigestUpdate( ctx, hb_parcx( 2 ), ( size_t ) hb_parclen( 2 ) );
|
||||
hb_retni( 1 );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -370,7 +404,12 @@ HB_FUNC( EVP_DIGESTFINAL )
|
||||
unsigned char * buffer = ( unsigned char * ) hb_xgrab( EVP_MAX_MD_SIZE + 1 );
|
||||
unsigned int size = 0;
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
hb_retni( EVP_DigestFinal( ctx, buffer, &size ) );
|
||||
#else
|
||||
EVP_DigestFinal( ctx, buffer, &size );
|
||||
hb_retni( 1 );
|
||||
#endif
|
||||
|
||||
if( size > 0 )
|
||||
{
|
||||
@@ -396,6 +435,7 @@ HB_FUNC( EVP_DIGESTFINAL_EX )
|
||||
|
||||
if( ctx )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
unsigned char * buffer = ( unsigned char * ) hb_xgrab( EVP_MAX_MD_SIZE + 1 );
|
||||
unsigned int size = 0;
|
||||
|
||||
@@ -411,6 +451,7 @@ HB_FUNC( EVP_DIGESTFINAL_EX )
|
||||
hb_xfree( buffer );
|
||||
hb_storc( NULL, 2 );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -438,10 +479,12 @@ HB_FUNC( EVP_SIGNINIT_EX )
|
||||
|
||||
if( hb_EVP_MD_CTX_is( 1 ) && md )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
hb_retni( EVP_SignInit_ex( ctx, md, ( ENGINE * ) hb_parptr( 3 ) ) );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -454,7 +497,14 @@ HB_FUNC( EVP_SIGNUPDATE )
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
hb_retni( EVP_SignUpdate( ctx, hb_parcx( 2 ), ( size_t ) hb_parclen( 2 ) ) );
|
||||
#else
|
||||
EVP_SignUpdate( ctx, hb_parcx( 2 ), ( size_t ) hb_parclen( 2 ) );
|
||||
hb_retni( 1 );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -498,7 +548,14 @@ HB_FUNC( EVP_VERIFYINIT )
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
hb_retni( EVP_VerifyInit( ctx, md ) );
|
||||
#else
|
||||
EVP_VerifyInit( ctx, md );
|
||||
hb_retni( 1 );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -510,10 +567,12 @@ HB_FUNC( EVP_VERIFYINIT_EX )
|
||||
|
||||
if( hb_EVP_MD_CTX_is( 1 ) && md )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
hb_retni( EVP_VerifyInit_ex( ctx, md, ( ENGINE * ) hb_parptr( 3 ) ) );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
@@ -526,7 +585,14 @@ HB_FUNC( EVP_VERIFYUPDATE )
|
||||
EVP_MD_CTX * ctx = hb_EVP_MD_CTX_par( 1 );
|
||||
|
||||
if( ctx )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
hb_retni( EVP_VerifyUpdate( ctx, hb_parcx( 2 ), ( size_t ) hb_parclen( 2 ) ) );
|
||||
#else
|
||||
EVP_VerifyUpdate( ctx, hb_parcx( 2 ), ( size_t ) hb_parclen( 2 ) );
|
||||
hb_retni( 1 );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
|
||||
|
||||
@@ -61,11 +61,101 @@
|
||||
|
||||
#include "hbssl.ch"
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x00906000L
|
||||
/* #error "unsupported OpenSSL version, required 0.9.6 or higher" */
|
||||
#endif
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x0090806fL
|
||||
#ifndef OPENSSL_NO_SEED
|
||||
#define OPENSSL_NO_SEED
|
||||
#endif
|
||||
#endif
|
||||
#if OPENSSL_VERSION_NUMBER < 0x0090803fL
|
||||
#ifndef OPENSSL_NO_CAMELLIA
|
||||
#define OPENSSL_NO_CAMELLIA
|
||||
#endif
|
||||
#endif
|
||||
#if OPENSSL_VERSION_NUMBER < 0x0090800fL
|
||||
#ifndef OPENSSL_NO_DGRAM
|
||||
#define OPENSSL_NO_DGRAM
|
||||
#endif
|
||||
#endif
|
||||
#if OPENSSL_VERSION_NUMBER < 0x00907000L
|
||||
#ifndef OPENSSL_NO_AES
|
||||
#define OPENSSL_NO_AES
|
||||
#endif
|
||||
#if ! defined( SSLEAY_DIR )
|
||||
#define SSLEAY_DIR 5
|
||||
#endif
|
||||
#if ! defined( SSL_ERROR_WANT_ACCEPT )
|
||||
#define SSL_ERROR_WANT_ACCEPT 8
|
||||
#endif
|
||||
|
||||
/* translate old configuration macros to new ones */
|
||||
#if defined( NO_BF ) && ! defined( OPENSSL_NO_BF )
|
||||
#define OPENSSL_NO_BF
|
||||
#endif
|
||||
#if defined( NO_CAST ) && ! defined( OPENSSL_NO_CAST )
|
||||
#define OPENSSL_NO_CAST
|
||||
#endif
|
||||
#if defined( NO_DES ) && ! defined( OPENSSL_NO_DES )
|
||||
#define OPENSSL_NO_DES
|
||||
#endif
|
||||
#if defined( NO_DSA ) && ! defined( OPENSSL_NO_DSA )
|
||||
#define OPENSSL_NO_DSA
|
||||
#endif
|
||||
#if defined( NO_IDEA ) && ! defined( OPENSSL_NO_IDEA )
|
||||
#define OPENSSL_NO_IDEA
|
||||
#endif
|
||||
#if defined( NO_MDC2 ) && ! defined( OPENSSL_NO_MDC2 )
|
||||
#define OPENSSL_NO_MDC2
|
||||
#endif
|
||||
#if defined( NO_MD2 ) && ! defined( OPENSSL_NO_MD2 )
|
||||
#define OPENSSL_NO_MD2
|
||||
#endif
|
||||
#if defined( NO_MD4 ) && ! defined( OPENSSL_NO_MD4 )
|
||||
#define OPENSSL_NO_MD4
|
||||
#endif
|
||||
#if defined( NO_MD5 ) && ! defined( OPENSSL_NO_MD5 )
|
||||
#define OPENSSL_NO_MD5
|
||||
#endif
|
||||
#if defined( NO_RC2 ) && ! defined( OPENSSL_NO_RC2 )
|
||||
#define OPENSSL_NO_RC2
|
||||
#endif
|
||||
#if defined( NO_RC4 ) && ! defined( OPENSSL_NO_RC4 )
|
||||
#define OPENSSL_NO_RC4
|
||||
#endif
|
||||
#if defined( NO_RC5 ) && ! defined( OPENSSL_NO_RC5 )
|
||||
#define OPENSSL_NO_RC5
|
||||
#endif
|
||||
#if defined( NO_RIPEMD ) && ! defined( OPENSSL_NO_RIPEMD )
|
||||
#define OPENSSL_NO_RIPEMD
|
||||
#endif
|
||||
#if defined( NO_RSA ) && ! defined( OPENSSL_NO_RSA )
|
||||
#define OPENSSL_NO_RSA
|
||||
#endif
|
||||
#if defined( NO_FP_API ) && ! defined( OPENSSL_NO_FP_API )
|
||||
#define OPENSSL_NO_FP_API
|
||||
#endif
|
||||
#if defined( NO_STDIO ) && ! defined( OPENSSL_NO_STDIO )
|
||||
#define OPENSSL_NO_STDIO
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#if OPENSSL_VERSION_NUMBER < 0x00908000L
|
||||
#if OPENSSL_VERSION_NUMBER < 0x0090708fL || ! defined( OPENSSL_FIPS )
|
||||
#ifndef OPENSSL_NO_SHA256
|
||||
#define OPENSSL_NO_SHA256
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_SHA512
|
||||
#define OPENSSL_NO_SHA512
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#if OPENSSL_VERSION_NUMBER < 0x00906030L
|
||||
#define SSL_get_rfd SSL_get_fd
|
||||
#define SSL_get_wfd SSL_get_fd
|
||||
#endif
|
||||
|
||||
HB_EXTERN_BEGIN
|
||||
|
||||
|
||||
@@ -1260,7 +1260,7 @@ HB_FUNC( SSL_SET_MTU )
|
||||
{
|
||||
if( hb_SSL_is( 1 ) )
|
||||
{
|
||||
#if ! defined( HB_OPENSSL_OLD_OSX_ )
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L && ! defined( HB_OPENSSL_OLD_OSX_ )
|
||||
SSL * ssl = hb_SSL_par( 1 );
|
||||
|
||||
if( ssl )
|
||||
@@ -1507,6 +1507,7 @@ HB_FUNC( SSL_USE_PRIVATEKEY )
|
||||
/* Callback */
|
||||
/* -------- */
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
static void hb_ssl_msg_callback( int write_p, int version, int content_type, const void * buf, size_t len, SSL * ssl, void * userdata )
|
||||
{
|
||||
HB_SYMBOL_UNUSED( ssl );
|
||||
@@ -1524,6 +1525,7 @@ static void hb_ssl_msg_callback( int write_p, int version, int content_type, con
|
||||
hb_vmRequestRestore();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
HB_FUNC( SSL_SET_MSG_CALLBACK )
|
||||
{
|
||||
@@ -1533,6 +1535,7 @@ HB_FUNC( SSL_SET_MSG_CALLBACK )
|
||||
|
||||
if( ssl )
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00907000L
|
||||
PHB_ITEM pCallback = hb_param( 2, HB_IT_BLOCK | HB_IT_SYMBOL );
|
||||
|
||||
if( pCallback )
|
||||
@@ -1548,6 +1551,7 @@ HB_FUNC( SSL_SET_MSG_CALLBACK )
|
||||
SSL_set_msg_callback_arg( ssl, NULL );
|
||||
SSL_set_msg_callback( ssl, NULL );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user