Mercurial > hg > nginx-vendor-0-5
comparison src/http/ngx_http_request.c @ 330:c60beecc6ab5 NGINX_0_5_35
nginx 0.5.35
*) Change: now the ngx_http_userid_module adds start time microseconds
to the cookie field contains a pid value.
*) Change: now the uname(2) is used on Linux instead of procfs.
Thanks to Ilya Novikov.
*) Feature: the "If-Range" request header line support.
Thanks to Alexander V. Inyukhin.
*) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
error; bug appeared in 0.5.13.
*) Bugfix: the STARTTLS in SMTP mode did not work.
Thanks to Oleg Motienko.
*) Bugfix: large_client_header_buffers did not freed before going to
keep-alive state.
Thanks to Olexander Shtepa.
*) Bugfix: the "limit_rate" directive did not allow to use full
throughput, even if limit value was very high.
*) Bugfix: the $status variable was equal to 0 if a proxied server
returned response in HTTP/0.9 version.
*) Bugfix: if the "?" character was in a "error_page" directive, then
it was escaped in a proxied request; bug appeared in 0.5.32.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 08 Jan 2008 00:00:00 +0300 |
parents | 26ff8d6b618d |
children | 42974b9e97b5 |
comparison
equal
deleted
inserted
replaced
329:d792b2cd78fe | 330:c60beecc6ab5 |
---|---|
94 offsetof(ngx_http_headers_in_t, content_type), | 94 offsetof(ngx_http_headers_in_t, content_type), |
95 ngx_http_process_header_line }, | 95 ngx_http_process_header_line }, |
96 | 96 |
97 { ngx_string("Range"), offsetof(ngx_http_headers_in_t, range), | 97 { ngx_string("Range"), offsetof(ngx_http_headers_in_t, range), |
98 ngx_http_process_header_line }, | 98 ngx_http_process_header_line }, |
99 | |
100 { ngx_string("If-Range"), | |
101 offsetof(ngx_http_headers_in_t, if_range), | |
102 ngx_http_process_unique_header_line }, | |
99 | 103 |
100 { ngx_string("Transfer-Encoding"), | 104 { ngx_string("Transfer-Encoding"), |
101 offsetof(ngx_http_headers_in_t, transfer_encoding), | 105 offsetof(ngx_http_headers_in_t, transfer_encoding), |
102 ngx_http_process_header_line }, | 106 ngx_http_process_header_line }, |
103 | 107 |
2079 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, "hc free: %p %d", | 2083 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, "hc free: %p %d", |
2080 hc->free, hc->nfree); | 2084 hc->free, hc->nfree); |
2081 | 2085 |
2082 if (hc->free) { | 2086 if (hc->free) { |
2083 for (i = 0; i < hc->nfree; i++) { | 2087 for (i = 0; i < hc->nfree; i++) { |
2084 ngx_pfree(c->pool, hc->free[i]); | 2088 ngx_pfree(c->pool, hc->free[i]->start); |
2085 hc->free[i] = NULL; | 2089 hc->free[i] = NULL; |
2086 } | 2090 } |
2087 | 2091 |
2088 hc->nfree = 0; | 2092 hc->nfree = 0; |
2089 } | 2093 } |
2091 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, "hc busy: %p %d", | 2095 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, "hc busy: %p %d", |
2092 hc->busy, hc->nbusy); | 2096 hc->busy, hc->nbusy); |
2093 | 2097 |
2094 if (hc->busy) { | 2098 if (hc->busy) { |
2095 for (i = 0; i < hc->nbusy; i++) { | 2099 for (i = 0; i < hc->nbusy; i++) { |
2096 ngx_pfree(c->pool, hc->busy[i]); | 2100 ngx_pfree(c->pool, hc->busy[i]->start); |
2097 hc->busy[i] = NULL; | 2101 hc->busy[i] = NULL; |
2098 } | 2102 } |
2099 | 2103 |
2100 hc->nbusy = 0; | 2104 hc->nbusy = 0; |
2101 } | 2105 } |