Mercurial > hg > nginx-vendor-0-6
changeset 192:af7f2341ecc5 NGINX_0_3_43
nginx 0.3.43
*) Bugfix: in the SSI.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 26 Apr 2006 00:00:00 +0400 |
parents | 219b4d22ddd9 |
children | 2a1394604ae9 |
files | CHANGES CHANGES.ru src/core/nginx.h src/core/ngx_buf.c src/http/modules/ngx_http_ssi_filter_module.c src/http/ngx_http_core_module.c src/http/ngx_http_postpone_filter_module.c |
diffstat | 7 files changed, 41 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/CHANGES +++ b/CHANGES @@ -1,4 +1,9 @@ +Changes with nginx 0.3.43 26 Apr 2006 + + *) Bugfix: in the SSI. + + Changes with nginx 0.3.42 26 Apr 2006 *) Feature: the "bind" option of the "listen" directive in IMAP/POP3
--- a/CHANGES.ru +++ b/CHANGES.ru @@ -1,4 +1,9 @@ +Изменения в nginx 0.3.43 26.04.2006 + + *) Исправление: в SSI. + + Изменения в nginx 0.3.42 26.04.2006 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
--- a/src/core/nginx.h +++ b/src/core/nginx.h @@ -8,7 +8,7 @@ #define _NGINX_H_INCLUDED_ -#define NGINX_VER "nginx/0.3.42" +#define NGINX_VER "nginx/0.3.43" #define NGINX_VAR "NGINX" #define NGX_OLDPID_EXT ".oldbin"
--- a/src/core/ngx_buf.c +++ b/src/core/ngx_buf.c @@ -134,6 +134,12 @@ ngx_chain_add_copy(ngx_pool_t *pool, ngx } while (in) { + + if (ngx_buf_sync_only(in->buf)) { + in = in->next; + continue; + } + cl = ngx_alloc_chain_link(pool); if (cl == NULL) { return NGX_ERROR;
--- a/src/http/modules/ngx_http_ssi_filter_module.c +++ b/src/http/modules/ngx_http_ssi_filter_module.c @@ -737,6 +737,8 @@ ngx_http_ssi_output(ngx_http_request_t * #if 1 b = NULL; for (cl = ctx->out; cl; cl = cl->next) { + ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "ssi out: %p %p", cl->buf, cl->buf->pos); if (cl->buf == b) { ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, "the same buf was used in ssi"); @@ -1685,6 +1687,9 @@ ngx_http_ssi_echo(ngx_http_request_t *r, var = params[NGX_HTTP_SSI_ECHO_VAR]; + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "ssi echo \"%V\"", var); + key = 0; for (i = 0; i < var->len; i++) { @@ -1798,6 +1803,9 @@ ngx_http_ssi_set(ngx_http_request_t *r, name = params[NGX_HTTP_SSI_SET_VAR]; value = params[NGX_HTTP_SSI_SET_VALUE]; + ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "ssi set \"%V\" \"%V\"", name, value); + if (ngx_http_ssi_evaluate_string(r, ctx, value, 0) != NGX_OK) { return NGX_HTTP_SSI_ERROR; } @@ -1861,6 +1869,9 @@ ngx_http_ssi_if(ngx_http_request_t *r, n expr = params[NGX_HTTP_SSI_IF_EXPR]; + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "ssi if expr=\"%V\"", expr); + left.data = expr->data; last = expr->data + expr->len; @@ -2025,6 +2036,9 @@ static ngx_int_t ngx_http_ssi_else(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ctx, ngx_str_t **params) { + ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "ssi else"); + if (ctx->output_chosen) { ctx->output = 0; } else { @@ -2041,6 +2055,9 @@ static ngx_int_t ngx_http_ssi_endif(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ctx, ngx_str_t **params) { + ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "ssi endif"); + ctx->output = 1; ctx->output_chosen = 0; ctx->conditional = 0;
--- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -738,9 +738,11 @@ ngx_http_update_location_config(ngx_http clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); } - r->connection->log->file = clcf->err_log->file; - if (!(r->connection->log->log_level & NGX_LOG_DEBUG_CONNECTION)) { - r->connection->log->log_level = clcf->err_log->log_level; + if (r == r->main) { + r->connection->log->file = clcf->err_log->file; + if (!(r->connection->log->log_level & NGX_LOG_DEBUG_CONNECTION)) { + r->connection->log->log_level = clcf->err_log->log_level; + } } if ((ngx_io.flags & NGX_IO_SENDFILE) && clcf->sendfile) {
--- a/src/http/ngx_http_postpone_filter_module.c +++ b/src/http/ngx_http_postpone_filter_module.c @@ -96,7 +96,8 @@ ngx_http_postpone_filter(ngx_http_reques for (cl = pr->out; cl; cl = cl->next) { if (cl->buf == b) { ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, - "the same buf was used in postponed"); + "the same buf was used in postponed %p %p", + b, b->pos); ngx_debug_point(); return NGX_ERROR; }