Mercurial > hg > nginx
view auto/endianess @ 4033:4e1a489c26cd
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.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 23 Aug 2011 14:36:31 +0000 |
parents | 694d285ec752 |
children | d620f497c50f |
line wrap: on
line source
# Copyright (C) Igor Sysoev echo $ngx_n "checking for system endianess ...$ngx_c" echo >> $NGX_ERR echo "checking for system endianess" >> $NGX_ERR cat << END > $NGX_AUTOTEST.c int main() { int i = 0x11223344; char *p; p = (char *) &i; if (*p == 0x44) return 0; return 1; } END ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" if [ -x $NGX_AUTOTEST ]; then if $NGX_AUTOTEST >/dev/null 2>&1; then echo " little endianess" have=NGX_HAVE_LITTLE_ENDIAN . auto/have else echo " big endianess" fi rm $NGX_AUTOTEST* else rm $NGX_AUTOTEST* echo echo "$0: error: can not detect system endianess" exit 1 fi