Mercurial > hg > nginx-quic
view src/os/win32/nginx_icon32.xpm @ 7367:bf1ac3dc1e68
SSL: fixed segfault on renegotiation (ticket #1646).
In e3ba4026c02d (1.15.4) nginx own renegotiation checks were disabled
if SSL_OP_NO_RENEGOTIATION is available. But since SSL_OP_NO_RENEGOTIATION
is only set on a connection, not in an SSL context, SSL_clear_option()
removed it as long as a matching virtual server was found. This resulted
in a segmentation fault similar to the one fixed in a6902a941279 (1.9.8),
affecting nginx built with OpenSSL 1.1.0h or higher.
To fix this, SSL_OP_NO_RENEGOTIATION is now explicitly set in
ngx_http_ssl_servername() after adjusting options. Additionally, instead
of c->ssl->renegotiation we now check c->ssl->handshaked, which seems
to be a more correct flag to test, and will prevent the segmentation fault
from happening even if SSL_OP_NO_RENEGOTIATION is not working.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 02 Oct 2018 17:46:18 +0300 |
parents | 7e24168b0853 |
children |
line wrap: on
line source
/* XPM */ static char * nginx_xpm[] = { "32 32 2 2", /* colors */ " c none", "GG c #009900", /* pixels */ " ", " ", " ", " ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGG ", " GGGGGGGGGG ", " GGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGG ", " GGGGGGGGGG GGGGGGGGGG ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " GGGGGGGGGGGGGGGGGGGGGGGGGGGG ", " ", " ", " ", " "