changeset 6728:8f75d9883730

Stream ssl_preread: fixed $ssl_preread_server_name variable. Made sure to set the variable length only after successful SNI parsing.
author Sergey Kandaurov <pluknet@nginx.com>
date Wed, 05 Oct 2016 18:11:39 +0300
parents ca709bca4b77
children cecf415643d7
files src/stream/ngx_stream_ssl_preread_module.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/stream/ngx_stream_ssl_preread_module.c
+++ b/src/stream/ngx_stream_ssl_preread_module.c
@@ -333,11 +333,12 @@ ngx_stream_ssl_preread_parse_record(ngx_
                 return NGX_ERROR;
             }
 
-            ctx->host.len = size;
             dst = ctx->host.data;
             break;
 
         case sw_sni_host:
+            ctx->host.len = (p[1] << 8) + p[2];
+
             ngx_log_debug1(NGX_LOG_DEBUG_STREAM, ctx->log, 0,
                            "ssl preread: SNI hostname \"%V\"", &ctx->host);
             return NGX_OK;