Reconsidered server_tokens with an empty value.

An empty value will be treated as "off".
This commit is contained in:
Ruslan Ermilov 2016-03-22 15:52:28 +03:00
parent ae5e76ea06
commit 0b768c1435
3 changed files with 11 additions and 20 deletions

View File

@ -295,12 +295,12 @@ ngx_http_header_filter(ngx_http_request_t *r)
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_t *r)
}
*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);
}

View File

@ -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_request_t *r,
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) {
ngx_str_set(&tail, ngx_http_error_full_tail);
} else {
ngx_str_set(&tail, ngx_http_error_no_tail);
ngx_str_set(&tail, ngx_http_error_full_tail);
}
}

View File

@ -252,14 +252,14 @@ ngx_http_v2_header_filter(ngx_http_request_t *r)
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_request_t *r)
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);