summaryrefslogtreecommitdiffhomepage
path: root/src/mail
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2018-01-30 17:46:31 +0300
committerSergey Kandaurov <pluknet@nginx.com>2018-01-30 17:46:31 +0300
commit57dde2ab37708423d97333be19830437732b3f4f (patch)
tree505c109fc4a38ba9062a2ce67a5df974d4b06d5b /src/mail
parent22136953689e4f48c2bc90a01f39e23a4b6428af (diff)
downloadnginx-57dde2ab37708423d97333be19830437732b3f4f.tar.gz
nginx-57dde2ab37708423d97333be19830437732b3f4f.tar.bz2
SSL: using default server context in session remove (closes #1464).
This fixes segfault in configurations with multiple virtual servers sharing the same port, where a non-default virtual server block misses certificate.
Diffstat (limited to 'src/mail')
-rw-r--r--src/mail/ngx_mail_handler.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mail/ngx_mail_handler.c b/src/mail/ngx_mail_handler.c
index f6b26ede0..bc3e6b9e2 100644
--- a/src/mail/ngx_mail_handler.c
+++ b/src/mail/ngx_mail_handler.c
@@ -302,7 +302,7 @@ ngx_mail_verify_cert(ngx_mail_session_t *s, ngx_connection_t *c)
"client SSL certificate verify error: (%l:%s)",
rc, X509_verify_cert_error_string(rc));
- ngx_ssl_remove_cached_session(sslcf->ssl.ctx,
+ ngx_ssl_remove_cached_session(c->ssl->session_ctx,
(SSL_get0_session(c->ssl->connection)));
cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module);
@@ -323,7 +323,7 @@ ngx_mail_verify_cert(ngx_mail_session_t *s, ngx_connection_t *c)
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"client sent no required SSL certificate");
- ngx_ssl_remove_cached_session(sslcf->ssl.ctx,
+ ngx_ssl_remove_cached_session(c->ssl->session_ctx,
(SSL_get0_session(c->ssl->connection)));
cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module);