summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@nginx.com>2016-03-22 15:52:28 +0300
committerRuslan Ermilov <ru@nginx.com>2016-03-22 15:52:28 +0300
commit0b768c143594706d1fb99fbe842d27de375bd5be (patch)
tree301df3aeb408a6048dea30c903b8b9c74f09f260 /src
parentae5e76ea06380be3b9191a3ce11f3e86e8878019 (diff)
downloadnginx-0b768c143594706d1fb99fbe842d27de375bd5be.tar.gz
nginx-0b768c143594706d1fb99fbe842d27de375bd5be.tar.bz2
Reconsidered server_tokens with an empty value.
An empty value will be treated as "off".
Diffstat (limited to 'src')
-rw-r--r--src/http/ngx_http_header_filter_module.c8
-rw-r--r--src/http/ngx_http_special_response.c15
-rw-r--r--src/http/v2/ngx_http_v2_filter_module.c8
3 files changed, 11 insertions, 20 deletions
diff --git a/src/http/ngx_http_header_filter_module.c b/src/http/ngx_http_header_filter_module.c
index 45a8b6ceb..86bcabc1a 100644
--- 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_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);
}
diff --git a/src/http/ngx_http_special_response.c b/src/http/ngx_http_special_response.c
index 7987309a6..70fdf440d 100644
--- 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_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);
}
}
diff --git a/src/http/v2/ngx_http_v2_filter_module.c b/src/http/v2/ngx_http_v2_filter_module.c
index 235a006ff..624ef1e99 100644
--- 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_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);