mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 17:52:38 +08:00
SSL: initialization changes for OpenSSL 1.1.0.
OPENSSL_config() deprecated in OpenSSL 1.1.0. Additionally, SSL_library_init(), SSL_load_error_strings() and OpenSSL_add_all_algorithms() are no longer available if OPENSSL_API_COMPAT is set to 0x10100000L. The OPENSSL_init_ssl() function is now used instead with appropriate arguments to trigger the same behaviour. The configure test changed to use SSL_CTX_set_options(). Deinitialization now happens automatically in OPENSSL_cleanup() called via atexit(3), so we no longer call EVP_cleanup() and ENGINE_cleanup() directly.
This commit is contained in:
parent
93c2749fae
commit
e6f04424af
@ -52,7 +52,7 @@ else
|
|||||||
ngx_feature_incs="#include <openssl/ssl.h>"
|
ngx_feature_incs="#include <openssl/ssl.h>"
|
||||||
ngx_feature_path=
|
ngx_feature_path=
|
||||||
ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL"
|
ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL"
|
||||||
ngx_feature_test="SSL_library_init()"
|
ngx_feature_test="SSL_CTX_set_options(NULL, 0)"
|
||||||
. auto/feature
|
. auto/feature
|
||||||
|
|
||||||
if [ $ngx_found = no ]; then
|
if [ $ngx_found = no ]; then
|
||||||
|
@ -111,6 +111,12 @@ int ngx_ssl_stapling_index;
|
|||||||
ngx_int_t
|
ngx_int_t
|
||||||
ngx_ssl_init(ngx_log_t *log)
|
ngx_ssl_init(ngx_log_t *log)
|
||||||
{
|
{
|
||||||
|
#if OPENSSL_VERSION_NUMBER >= 0x10100003L
|
||||||
|
|
||||||
|
OPENSSL_init_ssl(OPENSSL_INIT_LOAD_CONFIG, NULL);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
#ifndef OPENSSL_IS_BORINGSSL
|
#ifndef OPENSSL_IS_BORINGSSL
|
||||||
OPENSSL_config(NULL);
|
OPENSSL_config(NULL);
|
||||||
#endif
|
#endif
|
||||||
@ -120,6 +126,8 @@ ngx_ssl_init(ngx_log_t *log)
|
|||||||
|
|
||||||
OpenSSL_add_all_algorithms();
|
OpenSSL_add_all_algorithms();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
|
#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
|
||||||
#ifndef SSL_OP_NO_COMPRESSION
|
#ifndef SSL_OP_NO_COMPRESSION
|
||||||
{
|
{
|
||||||
@ -3548,8 +3556,12 @@ ngx_openssl_engine(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
|||||||
static void
|
static void
|
||||||
ngx_openssl_exit(ngx_cycle_t *cycle)
|
ngx_openssl_exit(ngx_cycle_t *cycle)
|
||||||
{
|
{
|
||||||
|
#if OPENSSL_VERSION_NUMBER < 0x10100003L
|
||||||
|
|
||||||
EVP_cleanup();
|
EVP_cleanup();
|
||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
ENGINE_cleanup();
|
ENGINE_cleanup();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user