Lines 72-78
Link Here
|
72 |
#ifdef HAVE_OPENSSL_MD2_H |
72 |
#ifdef HAVE_OPENSSL_MD2_H |
73 |
#define OPENSSL_ALGO_MD2 4 |
73 |
#define OPENSSL_ALGO_MD2 4 |
74 |
#endif |
74 |
#endif |
75 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) |
75 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ |
|
|
76 |
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL) |
76 |
#define OPENSSL_ALGO_DSS1 5 |
77 |
#define OPENSSL_ALGO_DSS1 5 |
77 |
#endif |
78 |
#endif |
78 |
#define OPENSSL_ALGO_SHA224 6 |
79 |
#define OPENSSL_ALGO_SHA224 6 |
Lines 564-570
Link Here
|
564 |
#endif |
565 |
#endif |
565 |
|
566 |
|
566 |
/* {{{ OpenSSL compatibility functions and macros */ |
567 |
/* {{{ OpenSSL compatibility functions and macros */ |
567 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) |
568 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ |
|
|
569 |
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL) |
568 |
#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa |
570 |
#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa |
569 |
#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh |
571 |
#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh |
570 |
#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa |
572 |
#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa |
Lines 681-687
Link Here
|
681 |
return M_ASN1_STRING_data(asn1); |
683 |
return M_ASN1_STRING_data(asn1); |
682 |
} |
684 |
} |
683 |
|
685 |
|
684 |
#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined (LIBRESSL_VERSION_NUMBER) |
686 |
#if OPENSSL_VERSION_NUMBER < 0x10002000L || \ |
|
|
687 |
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL) |
685 |
|
688 |
|
686 |
static int X509_get_signature_nid(const X509 *x) |
689 |
static int X509_get_signature_nid(const X509 *x) |
687 |
{ |
690 |
{ |
Lines 1241-1247
Link Here
|
1241 |
} |
1244 |
} |
1242 |
/* }}} */ |
1245 |
/* }}} */ |
1243 |
|
1246 |
|
1244 |
#if defined(PHP_WIN32) || (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) |
1247 |
#if defined(PHP_WIN32) || (OPENSSL_VERSION_NUMBER >= 0x10100000L && \ |
|
|
1248 |
!(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) |
1245 |
#define PHP_OPENSSL_RAND_ADD_TIME() ((void) 0) |
1249 |
#define PHP_OPENSSL_RAND_ADD_TIME() ((void) 0) |
1246 |
#else |
1250 |
#else |
1247 |
#define PHP_OPENSSL_RAND_ADD_TIME() php_openssl_rand_add_timeval() |
1251 |
#define PHP_OPENSSL_RAND_ADD_TIME() php_openssl_rand_add_timeval() |
Lines 1328-1334
Link Here
|
1328 |
mdtype = (EVP_MD *) EVP_md2(); |
1332 |
mdtype = (EVP_MD *) EVP_md2(); |
1329 |
break; |
1333 |
break; |
1330 |
#endif |
1334 |
#endif |
1331 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) |
1335 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ |
|
|
1336 |
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL) |
1337 |
|
1332 |
case OPENSSL_ALGO_DSS1: |
1338 |
case OPENSSL_ALGO_DSS1: |
1333 |
mdtype = (EVP_MD *) EVP_dss1(); |
1339 |
mdtype = (EVP_MD *) EVP_dss1(); |
1334 |
break; |
1340 |
break; |
Lines 1416-1422
Link Here
|
1416 |
le_x509 = zend_register_list_destructors_ex(php_openssl_x509_free, NULL, "OpenSSL X.509", module_number); |
1422 |
le_x509 = zend_register_list_destructors_ex(php_openssl_x509_free, NULL, "OpenSSL X.509", module_number); |
1417 |
le_csr = zend_register_list_destructors_ex(php_openssl_csr_free, NULL, "OpenSSL X.509 CSR", module_number); |
1423 |
le_csr = zend_register_list_destructors_ex(php_openssl_csr_free, NULL, "OpenSSL X.509 CSR", module_number); |
1418 |
|
1424 |
|
1419 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) |
1425 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ |
|
|
1426 |
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL) |
1420 |
OPENSSL_config(NULL); |
1427 |
OPENSSL_config(NULL); |
1421 |
SSL_library_init(); |
1428 |
SSL_library_init(); |
1422 |
OpenSSL_add_all_ciphers(); |
1429 |
OpenSSL_add_all_ciphers(); |
Lines 1459-1465
Link Here
|
1459 |
#ifdef HAVE_OPENSSL_MD2_H |
1466 |
#ifdef HAVE_OPENSSL_MD2_H |
1460 |
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT); |
1467 |
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT); |
1461 |
#endif |
1468 |
#endif |
1462 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) |
1469 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ |
|
|
1470 |
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL) |
1463 |
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT); |
1471 |
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT); |
1464 |
#endif |
1472 |
#endif |
1465 |
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT); |
1473 |
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT); |
Lines 1597-1603
Link Here
|
1597 |
*/ |
1605 |
*/ |
1598 |
PHP_MSHUTDOWN_FUNCTION(openssl) |
1606 |
PHP_MSHUTDOWN_FUNCTION(openssl) |
1599 |
{ |
1607 |
{ |
1600 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) |
1608 |
#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ |
|
|
1609 |
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL) |
1601 |
EVP_cleanup(); |
1610 |
EVP_cleanup(); |
1602 |
|
1611 |
|
1603 |
/* prevent accessing locking callback from unloaded extension */ |
1612 |
/* prevent accessing locking callback from unloaded extension */ |
Lines 3642-3648
Link Here
|
3642 |
RETURN_FALSE; |
3651 |
RETURN_FALSE; |
3643 |
} |
3652 |
} |
3644 |
|
3653 |
|
3645 |
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
3654 |
#if OPENSSL_VERSION_NUMBER >= 0x10100000L || \ |
|
|
3655 |
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL) |
3646 |
/* Due to changes in OpenSSL 1.1 related to locking when decoding CSR, |
3656 |
/* Due to changes in OpenSSL 1.1 related to locking when decoding CSR, |
3647 |
* the pub key is not changed after assigning. It means if we pass |
3657 |
* the pub key is not changed after assigning. It means if we pass |
3648 |
* a private key, it will be returned including the private part. |
3658 |
* a private key, it will be returned including the private part. |
Lines 3653-3659
Link Here
|
3653 |
/* Retrieve the public key from the CSR */ |
3663 |
/* Retrieve the public key from the CSR */ |
3654 |
tpubkey = X509_REQ_get_pubkey(csr); |
3664 |
tpubkey = X509_REQ_get_pubkey(csr); |
3655 |
|
3665 |
|
3656 |
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
3666 |
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \ |
|
|
3667 |
!(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL) |
3657 |
/* We need to free the CSR as it was duplicated */ |
3668 |
/* We need to free the CSR as it was duplicated */ |
3658 |
X509_REQ_free(csr); |
3669 |
X509_REQ_free(csr); |
3659 |
#endif |
3670 |
#endif |