# HG changeset patch # User Piotr Sikora <[email protected]> # Date 1369177341 25200 # Node ID 4d617cb445673c8e3c43d75c240a7d401b394ee8 # Parent 8646199ded31a725bea599aeafc581f9c969872d SNI: add $ssl_servername variable.
Signed-off-by: Piotr Sikora <[email protected]> diff -r 8646199ded31 -r 4d617cb44567 src/event/ngx_event_openssl.c --- a/src/event/ngx_event_openssl.c Tue May 21 16:02:10 2013 -0700 +++ b/src/event/ngx_event_openssl.c Tue May 21 16:02:21 2013 -0700 @@ -2221,6 +2221,21 @@ ngx_int_t +ngx_ssl_get_servername(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s) +{ +#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME + if (c->ssl->servername) { + *s = *c->ssl->servername; + return NGX_OK; + } +#endif + + s->len = 0; + return NGX_OK; +} + + +ngx_int_t ngx_ssl_get_session_id(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s) { int len; diff -r 8646199ded31 -r 4d617cb44567 src/event/ngx_event_openssl.h --- a/src/event/ngx_event_openssl.h Tue May 21 16:02:10 2013 -0700 +++ b/src/event/ngx_event_openssl.h Tue May 21 16:02:21 2013 -0700 @@ -146,6 +146,8 @@ ngx_str_t *s); ngx_int_t ngx_ssl_get_cipher_name(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s); +ngx_int_t ngx_ssl_get_servername(ngx_connection_t *c, ngx_pool_t *pool, + ngx_str_t *s); ngx_int_t ngx_ssl_get_session_id(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s); ngx_int_t ngx_ssl_get_raw_certificate(ngx_connection_t *c, ngx_pool_t *pool, diff -r 8646199ded31 -r 4d617cb44567 src/http/modules/ngx_http_ssl_module.c --- a/src/http/modules/ngx_http_ssl_module.c Tue May 21 16:02:10 2013 -0700 +++ b/src/http/modules/ngx_http_ssl_module.c Tue May 21 16:02:21 2013 -0700 @@ -238,6 +238,9 @@ { ngx_string("ssl_cipher"), NULL, ngx_http_ssl_static_variable, (uintptr_t) ngx_ssl_get_cipher_name, NGX_HTTP_VAR_CHANGEABLE, 0 }, + { ngx_string("ssl_servername"), NULL, ngx_http_ssl_variable, + (uintptr_t) ngx_ssl_get_servername, NGX_HTTP_VAR_CHANGEABLE, 0 }, + { ngx_string("ssl_session_id"), NULL, ngx_http_ssl_variable, (uintptr_t) ngx_ssl_get_session_id, NGX_HTTP_VAR_CHANGEABLE, 0 }, _______________________________________________ nginx-devel mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-devel
