From: Jakub Zelenka Date: Mon, 28 Aug 2017 17:48:25 +0000 (+0100) Subject: Do not explicitly initialize and clean up OpenSSL for OpenSSL 1.1 X-Git-Tag: php-7.2.0RC2~68 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=58df6a3b61f5cb914d899fbb44eecadad8098700;p=php Do not explicitly initialize and clean up OpenSSL for OpenSSL 1.1 --- diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 19cc0ac100..72c6e1b2c7 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -1415,6 +1415,7 @@ PHP_MINIT_FUNCTION(openssl) le_x509 = zend_register_list_destructors_ex(php_openssl_x509_free, NULL, "OpenSSL X.509", module_number); le_csr = zend_register_list_destructors_ex(php_openssl_csr_free, NULL, "OpenSSL X.509 CSR", module_number); +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) SSL_library_init(); OpenSSL_add_all_ciphers(); OpenSSL_add_all_digests(); @@ -1427,6 +1428,7 @@ PHP_MINIT_FUNCTION(openssl) #endif SSL_load_error_strings(); +#endif /* register a resource id number with OpenSSL so that we can map SSL -> stream structures in * OpenSSL callbacks */ @@ -1591,12 +1593,14 @@ PHP_MINFO_FUNCTION(openssl) */ PHP_MSHUTDOWN_FUNCTION(openssl) { +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) EVP_cleanup(); /* prevent accessing locking callback from unloaded extension */ CRYPTO_set_locking_callback(NULL); /* free allocated error strings */ ERR_free_strings(); +#endif php_unregister_url_stream_wrapper("https"); php_unregister_url_stream_wrapper("ftps");