Mercurial > hg > nginx
diff src/http/ngx_http_special_response.c @ 6451:155871d773cc
Backed out server_tokens changes.
Backed out changesets: cf3e75cfa951, 6b72414dfb4f, 602dc42035fe, e5076b96fd01.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 22 Mar 2016 16:58:38 +0300 |
parents | e5076b96fd01 |
children | 654d2dae97d3 |
line wrap: on
line diff
--- a/src/http/ngx_http_special_response.c +++ b/src/http/ngx_http_special_response.c @@ -609,42 +609,26 @@ static ngx_int_t ngx_http_send_special_response(ngx_http_request_t *r, ngx_http_core_loc_conf_t *clcf, ngx_uint_t err) { + u_char *tail; + size_t len; ngx_int_t rc; - ngx_str_t tail, tokens; ngx_buf_t *b; ngx_uint_t msie_padding; ngx_chain_t out[3]; + if (clcf->server_tokens) { + len = sizeof(ngx_http_error_full_tail) - 1; + tail = ngx_http_error_full_tail; + + } else { + len = sizeof(ngx_http_error_tail) - 1; + tail = ngx_http_error_tail; + } + msie_padding = 0; if (ngx_http_error_pages[err].len) { - - if (clcf->server_tokens == 0) { - ngx_str_set(&tail, ngx_http_error_tail); - - } else if (clcf->server_tokens == 1) { - ngx_str_set(&tail, ngx_http_error_full_tail); - - } else { - if (ngx_http_complex_value(r, &clcf->server_tokens_value, &tokens) - != NGX_OK) - { - return NGX_ERROR; - } - - if (tokens.len == 0 - || (tokens.len == 3 && ngx_strncmp(tokens.data, "off", 3) == 0)) - { - ngx_str_set(&tail, ngx_http_error_tail); - - } else { - ngx_str_set(&tail, ngx_http_error_full_tail); - } - } - - r->headers_out.content_length_n = ngx_http_error_pages[err].len - + tail.len; - + r->headers_out.content_length_n = ngx_http_error_pages[err].len + len; if (clcf->msie_padding && (r->headers_in.msie || r->headers_in.chrome) && r->http_version >= NGX_HTTP_VERSION_10 @@ -661,10 +645,6 @@ ngx_http_send_special_response(ngx_http_ } else { r->headers_out.content_length_n = 0; - -#if (NGX_SUPPRESS_WARN) - ngx_str_null(&tail); -#endif } if (r->headers_out.content_length) { @@ -704,8 +684,9 @@ ngx_http_send_special_response(ngx_http_ } b->memory = 1; - b->pos = tail.data; - b->last = tail.data + tail.len; + + b->pos = tail; + b->last = tail + len; out[1].buf = b; out[1].next = NULL;