summaryrefslogtreecommitdiffhomepage
path: root/src/http/ngx_http_special_response.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2007-12-12 20:53:06 +0000
committerIgor Sysoev <igor@sysoev.ru>2007-12-12 20:53:06 +0000
commitd66b7a8a1ae71d0c4e2d767f4d06f05890169b56 (patch)
tree93daee7a35133d9c29adf9f744ded5582ab8fac4 /src/http/ngx_http_special_response.c
parentaf1eaa8cddc9dac82e377815c5ef3fed1053322d (diff)
downloadnginx-d66b7a8a1ae71d0c4e2d767f4d06f05890169b56.tar.gz
nginx-d66b7a8a1ae71d0c4e2d767f4d06f05890169b56.tar.bz2
r1593, r1595 merge:
server_tokens
Diffstat (limited to 'src/http/ngx_http_special_response.c')
-rw-r--r--src/http/ngx_http_special_response.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/http/ngx_http_special_response.c b/src/http/ngx_http_special_response.c
index 1797603a0..24b6be7af 100644
--- a/src/http/ngx_http_special_response.c
+++ b/src/http/ngx_http_special_response.c
@@ -10,13 +10,20 @@
#include <nginx.h>
-static u_char error_tail[] =
+static u_char error_full_tail[] =
"<hr><center>" NGINX_VER "</center>" CRLF
"</body>" CRLF
"</html>" CRLF
;
+static u_char error_tail[] =
+"<hr><center>nginx</center>" CRLF
+"</body>" CRLF
+"</html>" CRLF
+;
+
+
static u_char ngx_http_msie_stub[] =
"<!-- The padding to disable MSIE's friendly error page -->" CRLF
"<!-- The padding to disable MSIE's friendly error page -->" CRLF
@@ -471,7 +478,8 @@ ngx_http_special_response_handler(ngx_http_request_t *r, ngx_int_t error)
if (!r->zero_body) {
if (error_pages[err].len) {
r->headers_out.content_length_n = error_pages[err].len
- + sizeof(error_tail) - 1;
+ + (clcf->server_tokens ? sizeof(error_full_tail) - 1:
+ sizeof(error_tail) - 1);
if (clcf->msie_padding
&& r->headers_in.msie
@@ -568,8 +576,14 @@ ngx_http_special_response_handler(ngx_http_request_t *r, ngx_int_t error)
}
b->memory = 1;
- b->pos = error_tail;
- b->last = error_tail + sizeof(error_tail) - 1;
+
+ if (clcf->server_tokens) {
+ b->pos = error_full_tail;
+ b->last = error_full_tail + sizeof(error_full_tail) - 1;
+ } else {
+ b->pos = error_tail;
+ b->last = error_tail + sizeof(error_tail) - 1;
+ }
cl->next = ngx_alloc_chain_link(r->pool);
if (cl->next == NULL) {