summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_openssl.c
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2022-01-25 23:42:48 +0300
committerSergey Kandaurov <pluknet@nginx.com>2022-01-25 23:42:48 +0300
commit025fa0374ee9604e39e0ee97fc1cdd425043ea5f (patch)
tree291367a91145f157826cc2cb00e413ef47884b39 /src/event/ngx_event_openssl.c
parent264dd955cb81dff66908556b5ed8ebbd5cac8ef8 (diff)
parent60ca13f98846bb1140359972d42276db88f4a409 (diff)
downloadnginx-025fa0374ee9604e39e0ee97fc1cdd425043ea5f.tar.gz
nginx-025fa0374ee9604e39e0ee97fc1cdd425043ea5f.tar.bz2
Merged with the default branch.
Diffstat (limited to 'src/event/ngx_event_openssl.c')
-rw-r--r--src/event/ngx_event_openssl.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c
index ef9eec7be..60efdbfa7 100644
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -1383,6 +1383,9 @@ ngx_ssl_dhparam(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *file)
if (SSL_CTX_set0_tmp_dh_pkey(ssl->ctx, dh) != 1) {
ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0,
"SSL_CTX_set0_tmp_dh_pkey(\%s\") failed", file->data);
+#if (OPENSSL_VERSION_NUMBER >= 0x3000001fL)
+ EVP_PKEY_free(dh);
+#endif
BIO_free(bio);
return NGX_ERROR;
}
@@ -4455,7 +4458,21 @@ ngx_ssl_session_ticket_key_callback(ngx_ssl_conn_t *ssl_conn,
return -1;
}
- return (i == 0) ? 1 : 2 /* renew */;
+ /* renew if TLSv1.3 */
+
+#ifdef TLS1_3_VERSION
+ if (SSL_version(ssl_conn) == TLS1_3_VERSION) {
+ return 2;
+ }
+#endif
+
+ /* renew if non-default key */
+
+ if (i != 0) {
+ return 2;
+ }
+
+ return 1;
}
}