Mercurial > hg > nginx-quic
changeset 6449:e5076b96fd01
Reconsidered server_tokens with an empty value.
An empty value will be treated as "off".
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Tue, 22 Mar 2016 15:52:28 +0300 |
parents | 4d1d3c2530e0 |
children | 22c32937a41f |
files | src/http/ngx_http_header_filter_module.c src/http/ngx_http_special_response.c src/http/v2/ngx_http_v2_filter_module.c |
diffstat | 3 files changed, 11 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_header_filter_module.c +++ b/src/http/ngx_http_header_filter_module.c @@ -295,12 +295,12 @@ ngx_http_header_filter(ngx_http_request_ return NGX_ERROR; } - if (tokens.len == 3 - && ngx_strncmp(tokens.data, "off", 3) == 0) + if (tokens.len == 0 + || (tokens.len == 3 && ngx_strncmp(tokens.data, "off", 3) == 0)) { ngx_str_set(&tokens, ngx_http_server_string); - } else if (tokens.len) { + } else { ngx_str_set(&tokens, ngx_http_server_full_string); } } @@ -481,7 +481,7 @@ ngx_http_header_filter(ngx_http_request_ } *b->last++ = CR; *b->last++ = LF; - if (r->headers_out.server == NULL && tokens.len) { + if (r->headers_out.server == NULL) { b->last = ngx_cpymem(b->last, tokens.data, tokens.len); }
--- a/src/http/ngx_http_special_response.c +++ b/src/http/ngx_http_special_response.c @@ -32,12 +32,6 @@ static u_char ngx_http_error_tail[] = ; -static u_char ngx_http_error_no_tail[] = -"</body>" CRLF -"</html>" CRLF -; - - static u_char ngx_http_msie_padding[] = "<!-- a padding to disable MSIE and Chrome friendly error page -->" CRLF "<!-- a padding to disable MSIE and Chrome friendly error page -->" CRLF @@ -638,16 +632,13 @@ ngx_http_send_special_response(ngx_http_ return NGX_ERROR; } - if (tokens.len == 3 - && ngx_strncmp(tokens.data, "off", 3) == 0) + if (tokens.len == 0 + || (tokens.len == 3 && ngx_strncmp(tokens.data, "off", 3) == 0)) { ngx_str_set(&tail, ngx_http_error_tail); - } else if (tokens.len) { + } else { ngx_str_set(&tail, ngx_http_error_full_tail); - - } else { - ngx_str_set(&tail, ngx_http_error_no_tail); } }
--- a/src/http/v2/ngx_http_v2_filter_module.c +++ b/src/http/v2/ngx_http_v2_filter_module.c @@ -252,14 +252,14 @@ ngx_http_v2_header_filter(ngx_http_reque return NGX_ERROR; } - if (tokens.len == 3 - && ngx_strncmp(tokens.data, "off", 3) == 0) + if (tokens.len == 0 + || (tokens.len == 3 && ngx_strncmp(tokens.data, "off", 3) == 0)) { server_tokens = 0; len += 1 + sizeof(nginx); ngx_str_set(&tokens, "nginx"); - } else if (tokens.len) { + } else { server_tokens = 1; len += 1 + nginx_ver_len; ngx_str_set(&tokens, NGINX_VER); @@ -468,7 +468,7 @@ ngx_http_v2_header_filter(ngx_http_reque pos = ngx_sprintf(pos, "%03ui", r->headers_out.status); } - if (r->headers_out.server == NULL && tokens.len) { + if (r->headers_out.server == NULL) { ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, "http2 output header: \"server: %V\"", &tokens);