]> git.kaiwu.me - nginx.git/commit
Better handling of various per-server ssl options with SNI.
authorMaxim Dounin <mdounin@mdounin.ru>
Tue, 23 Aug 2011 14:36:31 +0000 (14:36 +0000)
committerMaxim Dounin <mdounin@mdounin.ru>
Tue, 23 Aug 2011 14:36:31 +0000 (14:36 +0000)
commitfbc51e4c445bf25854dea3baac4572b21325d38c
tree2fdc152e7340e90cd7629aceb42855fa3e7b698c
parent631fa929d39bb377f89b13bcdaa467e9deefe333
Better handling of various per-server ssl options with SNI.

SSL_set_SSL_CTX() doesn't touch values cached within ssl connection
structure, it only changes certificates (at least as of now, OpenSSL
1.0.0d and earlier).

As a result settings like ssl_verify_client, ssl_verify_depth,
ssl_prefer_server_ciphers are only configurable on per-socket basis while
with SNI it should be possible to specify them different for two servers
listening on the same socket.

Workaround is to explicitly re-apply settings we care about from context
to ssl connection in servername callback.

Note that SSL_clear_options() is only available in OpenSSL 0.9.8m+.  I.e.
with older versions it is not possible to clear ssl_prefer_server_ciphers
option if it's set in default server for a socket.
src/http/ngx_http_request.c