nginx-0.3.43-RELEASE import

*) Bugfix: in the SSI.
This commit is contained in:
Igor Sysoev 2006-04-26 15:21:08 +00:00
parent f8987f00a8
commit b051817366
6 changed files with 45 additions and 5 deletions

View File

@ -9,6 +9,20 @@
<title lang="en">nginx changelog</title>
<changes ver="0.3.43" date="26.04.2006">
<change type="bugfix">
<para lang="ru">
× SSI.
</para>
<para lang="en">
in the SSI.
</para>
</change>
</changes>
<changes ver="0.3.42" date="26.04.2006">
<change type="feature">

View File

@ -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"

View File

@ -134,6 +134,12 @@ ngx_chain_add_copy(ngx_pool_t *pool, ngx_chain_t **chain, ngx_chain_t *in)
}
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;

View File

@ -737,6 +737,8 @@ ngx_http_ssi_output(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ctx)
#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, ngx_http_ssi_ctx_t *ctx,
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, ngx_http_ssi_ctx_t *ctx,
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, ngx_http_ssi_ctx_t *ctx,
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;

View File

@ -738,9 +738,11 @@ ngx_http_update_location_config(ngx_http_request_t *r)
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) {

View File

@ -96,7 +96,8 @@ ngx_http_postpone_filter(ngx_http_request_t *r, ngx_chain_t *in)
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;
}