Mercurial > hg > nginx-vendor-current
comparison src/http/modules/ngx_http_ssi_filter_module.c @ 250:fbf2b2f66c9f NGINX_0_4_10
nginx 0.4.10
*) Feature: the POP3 proxy supports the APOP command.
*) Bugfix: if the select, poll or /dev/poll methods were used, then
while waiting authentication server response the IMAP/POP3 proxy
hogged CPU.
*) Bugfix: a segmentation fault might occur if the $server_addr
variable was used in the "map" directive.
*) Bugfix: the ngx_http_flv_module did not support the byte ranges for
full responses; bug appeared in 0.4.7.
*) Bugfix: nginx could not be built on Debian amd64; bug appeared in
0.4.9.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 23 Oct 2006 00:00:00 +0400 |
parents | acd2ec3541cb |
children | f3ec44f4a53b |
comparison
equal
deleted
inserted
replaced
249:7a34085272cb | 250:fbf2b2f66c9f |
---|---|
1552 | 1552 |
1553 if (i >= part->nelts) { | 1553 if (i >= part->nelts) { |
1554 if (part->next == NULL) { | 1554 if (part->next == NULL) { |
1555 break; | 1555 break; |
1556 } | 1556 } |
1557 | 1557 |
1558 part = part->next; | 1558 part = part->next; |
1559 var = part->elts; | 1559 var = part->elts; |
1560 i = 0; | 1560 i = 0; |
1561 } | 1561 } |
1562 | 1562 |
1841 { | 1841 { |
1842 ngx_int_t rc, key; | 1842 ngx_int_t rc, key; |
1843 ngx_str_t *uri, *file, *wait, *set, *stub, args; | 1843 ngx_str_t *uri, *file, *wait, *set, *stub, args; |
1844 ngx_buf_t *b; | 1844 ngx_buf_t *b; |
1845 ngx_uint_t flags, i; | 1845 ngx_uint_t flags, i; |
1846 ngx_chain_t *cl, *tl, **ll; | 1846 ngx_chain_t *cl, *tl, **ll, *out; |
1847 ngx_http_request_t *sr; | 1847 ngx_http_request_t *sr; |
1848 ngx_http_ssi_var_t *var; | 1848 ngx_http_ssi_var_t *var; |
1849 ngx_http_ssi_ctx_t *mctx; | 1849 ngx_http_ssi_ctx_t *mctx; |
1850 ngx_http_ssi_block_t *bl; | 1850 ngx_http_ssi_block_t *bl; |
1851 ngx_http_post_subrequest_t *psr; | 1851 ngx_http_post_subrequest_t *psr; |
1945 | 1945 |
1946 psr->handler = ngx_http_ssi_stub_output; | 1946 psr->handler = ngx_http_ssi_stub_output; |
1947 | 1947 |
1948 if (bl[i].count++) { | 1948 if (bl[i].count++) { |
1949 | 1949 |
1950 ll = (ngx_chain_t **) &psr->data; | 1950 ll = &out; |
1951 | 1951 |
1952 for (tl = bl[i].bufs; tl; tl = tl->next) { | 1952 for (tl = bl[i].bufs; tl; tl = tl->next) { |
1953 | 1953 |
1954 if (ctx->free) { | 1954 if (ctx->free) { |
1955 cl = ctx->free; | 1955 cl = ctx->free; |
1976 | 1976 |
1977 *ll = cl; | 1977 *ll = cl; |
1978 cl->next = NULL; | 1978 cl->next = NULL; |
1979 ll = &cl->next; | 1979 ll = &cl->next; |
1980 } | 1980 } |
1981 | |
1982 psr->data = out; | |
1981 | 1983 |
1982 } else { | 1984 } else { |
1983 psr->data = bl[i].bufs; | 1985 psr->data = bl[i].bufs; |
1984 } | 1986 } |
1985 } | 1987 } |