]> git.kaiwu.me - nginx.git/commitdiff
Stream ssl_preread: fixed $ssl_preread_server_name variable.
authorSergey Kandaurov <pluknet@nginx.com>
Wed, 5 Oct 2016 15:11:39 +0000 (18:11 +0300)
committerSergey Kandaurov <pluknet@nginx.com>
Wed, 5 Oct 2016 15:11:39 +0000 (18:11 +0300)
Made sure to set the variable length only after successful SNI parsing.

src/stream/ngx_stream_ssl_preread_module.c

index 166c09395d30f4e2880f5a1a0f06b309b3cfc3d8..e26c51891ef69c520fa583b0e800fa03ece51d6f 100644 (file)
@@ -333,11 +333,12 @@ ngx_stream_ssl_preread_parse_record(ngx_stream_ssl_preread_ctx_t *ctx,
                 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;