Mercurial > hg > nginx-vendor-current
comparison src/http/ngx_http_request.c @ 358:9121a0a91f47 NGINX_0_6_23
nginx 0.6.23
*) Change: the "off" parameter in the "ssl_session_cache" directive;
now this is default parameter.
*) Change: the "open_file_cache_retest" directive was renamed to the
"open_file_cache_valid".
*) Feature: the "open_file_cache_min_uses" directive.
*) Feature: the ngx_http_gzip_static_module.
*) Feature: the "gzip_disable" directive.
*) Feature: the "memcached_pass" directive may be used inside the "if"
block.
*) Bugfix: a segmentation fault occurred in worker process, if the
"memcached_pass" and "if" directives were used in the same location.
*) Bugfix: if a "satisfy_any on" directive was used and not all access
and auth modules directives were set, then other given access and
auth directives were not tested;
*) Bugfix: regex parameters in a "valid_referers" directive were not
inherited from previous level.
*) Bugfix: a "post_action" directive did run if a request was completed
with 499 status code.
*) Bugfix: optimization of 16K buffer usage in a SSL connection.
Thanks to Ben Maurer.
*) Bugfix: the STARTTLS in SMTP mode did not work.
Thanks to Oleg Motienko.
*) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
error; bug appeared in 0.5.13.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 27 Dec 2007 00:00:00 +0300 |
parents | b743d290eb3b |
children | 54fad6c4b555 |
comparison
equal
deleted
inserted
replaced
357:16d557a75356 | 358:9121a0a91f47 |
---|---|
1593 | 1593 |
1594 if (r != r->main && r->post_subrequest) { | 1594 if (r != r->main && r->post_subrequest) { |
1595 rc = r->post_subrequest->handler(r, r->post_subrequest->data, rc); | 1595 rc = r->post_subrequest->handler(r, r->post_subrequest->data, rc); |
1596 } | 1596 } |
1597 | 1597 |
1598 if (rc == NGX_ERROR || rc == NGX_HTTP_REQUEST_TIME_OUT || c->error) { | 1598 if (rc == NGX_ERROR |
1599 || rc == NGX_HTTP_REQUEST_TIME_OUT | |
1600 || rc == NGX_HTTP_CLIENT_CLOSED_REQUEST | |
1601 || c->error) | |
1602 { | |
1599 if (rc > 0 && r->headers_out.status == 0) { | 1603 if (rc > 0 && r->headers_out.status == 0) { |
1600 r->headers_out.status = rc; | 1604 r->headers_out.status = rc; |
1601 } | 1605 } |
1602 | 1606 |
1603 if (ngx_http_post_action(r) == NGX_OK) { | 1607 if (ngx_http_post_action(r) == NGX_OK) { |
1675 if (rc == NGX_AGAIN) { | 1679 if (rc == NGX_AGAIN) { |
1676 r->fast_subrequest = 0; | 1680 r->fast_subrequest = 0; |
1677 } | 1681 } |
1678 | 1682 |
1679 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, | 1683 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, |
1680 "http fast subrequest: \"%V?%V\" done", | 1684 "http fast subrequest: \"%V?%V\" done", |
1681 &r->uri, &r->args); | 1685 &r->uri, &r->args); |
1682 return; | 1686 return; |
1683 } | 1687 } |
1684 | 1688 |
1685 if (rc != NGX_AGAIN) { | 1689 if (rc != NGX_AGAIN) { |
1686 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, | 1690 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, |
2109 hc->busy[i] = NULL; | 2113 hc->busy[i] = NULL; |
2110 } | 2114 } |
2111 | 2115 |
2112 hc->nbusy = 0; | 2116 hc->nbusy = 0; |
2113 } | 2117 } |
2118 | |
2119 #if (NGX_HTTP_SSL) | |
2120 if (c->ssl) { | |
2121 ngx_ssl_free_buffer(c); | |
2122 } | |
2123 #endif | |
2114 | 2124 |
2115 rev->handler = ngx_http_keepalive_handler; | 2125 rev->handler = ngx_http_keepalive_handler; |
2116 | 2126 |
2117 if (wev->active && (ngx_event_flags & NGX_USE_LEVEL_EVENT)) { | 2127 if (wev->active && (ngx_event_flags & NGX_USE_LEVEL_EVENT)) { |
2118 if (ngx_del_event(wev, NGX_WRITE_EVENT, 0) == NGX_ERROR) { | 2128 if (ngx_del_event(wev, NGX_WRITE_EVENT, 0) == NGX_ERROR) { |