73
73
#ifdef HAVE_OPENSSL_MD2_H
74
74
#define OPENSSL_ALGO_MD2 4
75
75
#endif
76
- #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined ( LIBRESSL_VERSION_NUMBER )
76
+ #if PHP_OPENSSL_API_VERSION < 0x10100
77
77
#define OPENSSL_ALGO_DSS1 5
78
78
#endif
79
79
#define OPENSSL_ALGO_SHA224 6
@@ -560,7 +560,7 @@ ZEND_GET_MODULE(openssl)
560
560
#endif
561
561
562
562
/* {{{ OpenSSL compatibility functions and macros */
563
- #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined ( LIBRESSL_VERSION_NUMBER )
563
+ #if PHP_OPENSSL_API_VERSION < 0x10100
564
564
#define EVP_PKEY_get0_RSA (_pkey ) _pkey->pkey.rsa
565
565
#define EVP_PKEY_get0_DH (_pkey ) _pkey->pkey.dh
566
566
#define EVP_PKEY_get0_DSA (_pkey ) _pkey->pkey.dsa
@@ -677,7 +677,7 @@ static const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *asn1)
677
677
return M_ASN1_STRING_data (asn1 );
678
678
}
679
679
680
- #if OPENSSL_VERSION_NUMBER < 0x10002000L || defined ( LIBRESSL_VERSION_NUMBER )
680
+ #if PHP_OPENSSL_API_VERSION < 0x10002
681
681
682
682
static int X509_get_signature_nid (const X509 * x )
683
683
{
@@ -1237,7 +1237,7 @@ static void php_openssl_dispose_config(struct php_x509_request * req) /* {{{ */
1237
1237
}
1238
1238
/* }}} */
1239
1239
1240
- #if defined(PHP_WIN32 ) || ( OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined( LIBRESSL_VERSION_NUMBER ))
1240
+ #if defined(PHP_WIN32 ) || PHP_OPENSSL_API_VERSION >= 0x10100
1241
1241
#define PHP_OPENSSL_RAND_ADD_TIME () ((void) 0)
1242
1242
#else
1243
1243
#define PHP_OPENSSL_RAND_ADD_TIME () php_openssl_rand_add_timeval()
@@ -1324,7 +1324,7 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(zend_long algo) { /* {{{ */
1324
1324
mdtype = (EVP_MD * ) EVP_md2 ();
1325
1325
break ;
1326
1326
#endif
1327
- #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined ( LIBRESSL_VERSION_NUMBER )
1327
+ #if PHP_OPENSSL_API_VERSION < 0x10100
1328
1328
case OPENSSL_ALGO_DSS1 :
1329
1329
mdtype = (EVP_MD * ) EVP_dss1 ();
1330
1330
break ;
@@ -1450,7 +1450,7 @@ PHP_MINIT_FUNCTION(openssl)
1450
1450
#ifdef HAVE_OPENSSL_MD2_H
1451
1451
REGISTER_LONG_CONSTANT ("OPENSSL_ALGO_MD2" , OPENSSL_ALGO_MD2 , CONST_CS |CONST_PERSISTENT );
1452
1452
#endif
1453
- #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined ( LIBRESSL_VERSION_NUMBER )
1453
+ #if PHP_OPENSSL_API_VERSION < 0x10100
1454
1454
REGISTER_LONG_CONSTANT ("OPENSSL_ALGO_DSS1" , OPENSSL_ALGO_DSS1 , CONST_CS |CONST_PERSISTENT );
1455
1455
#endif
1456
1456
REGISTER_LONG_CONSTANT ("OPENSSL_ALGO_SHA224" , OPENSSL_ALGO_SHA224 , CONST_CS |CONST_PERSISTENT );
@@ -3620,7 +3620,7 @@ PHP_FUNCTION(openssl_csr_get_public_key)
3620
3620
RETURN_FALSE ;
3621
3621
}
3622
3622
3623
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined( LIBRESSL_VERSION_NUMBER )
3623
+ #if PHP_OPENSSL_API_VERSION >= 0x10100
3624
3624
/* Due to changes in OpenSSL 1.1 related to locking when decoding CSR,
3625
3625
* the pub key is not changed after assigning. It means if we pass
3626
3626
* a private key, it will be returned including the private part.
@@ -3631,7 +3631,7 @@ PHP_FUNCTION(openssl_csr_get_public_key)
3631
3631
/* Retrieve the public key from the CSR */
3632
3632
tpubkey = X509_REQ_get_pubkey (csr );
3633
3633
3634
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined( LIBRESSL_VERSION_NUMBER )
3634
+ #if PHP_OPENSSL_API_VERSION >= 0x10100
3635
3635
/* We need to free the CSR as it was duplicated */
3636
3636
X509_REQ_free (csr );
3637
3637
#endif
@@ -3785,6 +3785,9 @@ static EVP_PKEY * php_openssl_evp_from_zval(
3785
3785
3786
3786
if (Z_STRLEN_P (val ) > 7 && memcmp (Z_STRVAL_P (val ), "file://" , sizeof ("file://" ) - 1 ) == 0 ) {
3787
3787
filename = Z_STRVAL_P (val ) + (sizeof ("file://" ) - 1 );
3788
+ if (php_openssl_open_base_dir_chk (filename )) {
3789
+ TMP_CLEAN ;
3790
+ }
3788
3791
}
3789
3792
/* it's an X509 file/cert of some kind, and we need to extract the data from that */
3790
3793
if (public_key ) {
@@ -3811,9 +3814,6 @@ static EVP_PKEY * php_openssl_evp_from_zval(
3811
3814
BIO * in ;
3812
3815
3813
3816
if (filename ) {
3814
- if (php_openssl_open_base_dir_chk (filename )) {
3815
- TMP_CLEAN ;
3816
- }
3817
3817
in = BIO_new_file (filename , PHP_OPENSSL_BIO_MODE_R (PKCS7_BINARY ));
3818
3818
} else {
3819
3819
in = BIO_new_mem_buf (Z_STRVAL_P (val ), (int )Z_STRLEN_P (val ));
0 commit comments