Mercurial > hg > nginx
diff src/event/ngx_event_openssl.c @ 1924:291689a7e5dc
invalidate SSL session if there is no valid client certificate
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 10 Mar 2008 14:47:07 +0000 |
parents | a55876dff8f5 |
children | 52b6be1e2cab |
line wrap: on
line diff
--- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -1552,6 +1552,15 @@ done: } +void +ngx_ssl_remove_cached_session(SSL_CTX *ssl, ngx_ssl_session_t *sess) +{ + SSL_CTX_remove_session(ssl, sess); + + ngx_ssl_remove_session(ssl, sess); +} + + static void ngx_ssl_remove_session(SSL_CTX *ssl, ngx_ssl_session_t *sess) { @@ -1567,6 +1576,10 @@ ngx_ssl_remove_session(SSL_CTX *ssl, ngx shm_zone = SSL_CTX_get_ex_data(ssl, ngx_ssl_session_cache_index); + if (shm_zone == NULL) { + return; + } + cache = shm_zone->data; id = sess->session_id;