From 8f1255877c4b64f83fce75baa4d903797e00e815 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Fri, 28 Jul 2006 15:16:17 +0000 Subject: nginx-0.3.55-RELEASE import *) Feature: the "stub" parameter in the "include" SSI command. *) Feature: the "block" SSI command. *) Feature: the unicode2nginx script was added to contrib. *) Bugfix: if a "root" was specified by variable only, then the root was relative to a server prefix. *) Bugfix: if the request contained "//" or "/./" and escaped symbols after them, then the proxied request was sent unescaped. *) Bugfix: the $r->headers_in("Cookie") of the ngx_http_perl_module now returns all "Cookie" header lines. *) Bugfix: a segmentation fault occurred if "client_body_in_file_only on" was used and nginx switched to a next upstream. *) Bugfix: on some condition while reconfiguration character codes inside the "charset_map" may be treated invalid; the bug had appeared in 0.3.50. --- src/http/ngx_http_request.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) (limited to 'src/http/ngx_http_request.c') diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index 0145fe7d4..e645e811a 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -853,7 +853,7 @@ ngx_http_process_request_headers(ngx_event_t *rev) } else { for (i = 0; i < h->key.len; i++) { - h->lowcase_key[i] = ngx_tolower(h->lowcase_key[i]); + h->lowcase_key[i] = ngx_tolower(h->key.data[i]); } } @@ -1459,6 +1459,28 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) "http finalize request: %d, \"%V?%V\"", rc, &r->uri, &r->args); + if (r != r->main + && rc != NGX_ERROR + && !r->connection->error + && !r->request_output + && r->out) + { + if (!r->header_sent) { + rc = ngx_http_set_content_type(r); + + if (rc == NGX_OK) { + rc = ngx_http_send_header(r); + + if (rc != NGX_ERROR) { + rc = ngx_http_output_filter(r, r->out); + } + } + + } else { + rc = ngx_http_output_filter(r, r->out); + } + } + if (rc == NGX_ERROR || rc == NGX_HTTP_REQUEST_TIME_OUT || r->connection->error) @@ -2435,15 +2457,6 @@ ngx_http_log_error_handler(ngx_http_request_t *r, ngx_http_request_t *sr, buf = p; } - return ngx_http_log_error_info(r, buf, len); -} - - -u_char * -ngx_http_log_error_info(ngx_http_request_t *r, u_char *buf, size_t len) -{ - u_char *p; - if (r->headers_in.host) { p = ngx_snprintf(buf, len, ", host: \"%V\"", &r->headers_in.host->value); -- cgit v1.2.3