# HG changeset patch # User Igor Sysoev # Date 1151669972 0 # Node ID 649c9063d0fda23620eaeaf0f6393be0a672ebe7 # Parent 0de045bf51ad7dca1fc09757da8dfeaba24c3909 nginx-0.3.51-RELEASE import *) Bugfix: the "<" symbols might disappeared some conditions in the SSI; the bug had appeared in 0.3.50. diff -r 0de045bf51ad -r 649c9063d0fd docs/xml/nginx/changes.xml --- a/docs/xml/nginx/changes.xml Wed Jun 28 16:00:26 2006 +0000 +++ b/docs/xml/nginx/changes.xml Fri Jun 30 12:19:32 2006 +0000 @@ -9,6 +9,22 @@ nginx changelog + + + + +при некоторых условиях в SSI мог пропадать символы "<"; +ошибка появилась в 0.3.50. + + +the "<" symbols might disappeared some conditions in the SSI; +bug appeared in 0.3.50. + + + + + + @@ -48,7 +64,7 @@ -символ "\" в парах "\"" и "\'" в SSI командах убирался только, если +символ "\" в парах "\"" и "\'" в SSI командах убирался, только если также использовался символ "$". @@ -71,7 +87,7 @@ если в заголовке ответа была строка "Content-Length: 0", -при использовании небуферизированного проксировании не закрывалось соединение +то при использовании небуферизированного проксировании не закрывалось соединение с клиентом. diff -r 0de045bf51ad -r 649c9063d0fd src/core/nginx.h --- a/src/core/nginx.h Wed Jun 28 16:00:26 2006 +0000 +++ b/src/core/nginx.h Fri Jun 30 12:19:32 2006 +0000 @@ -8,7 +8,7 @@ #define _NGINX_H_INCLUDED_ -#define NGINX_VER "nginx/0.3.50" +#define NGINX_VER "nginx/0.3.51" #define NGINX_VAR "NGINX" #define NGX_OLDPID_EXT ".oldbin" diff -r 0de045bf51ad -r 649c9063d0fd src/http/modules/ngx_http_charset_filter_module.c --- a/src/http/modules/ngx_http_charset_filter_module.c Wed Jun 28 16:00:26 2006 +0000 +++ b/src/http/modules/ngx_http_charset_filter_module.c Fri Jun 30 12:19:32 2006 +0000 @@ -217,7 +217,7 @@ if (charset == NGX_HTTP_NO_CHARSET) { ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, "unknown charset \"%V\" to override", - &r->headers_out.override_charset); + r->headers_out.override_charset); return ngx_http_next_header_filter(r); } diff -r 0de045bf51ad -r 649c9063d0fd src/http/modules/ngx_http_ssi_filter_module.c --- a/src/http/modules/ngx_http_ssi_filter_module.c Wed Jun 28 16:00:26 2006 +0000 +++ b/src/http/modules/ngx_http_ssi_filter_module.c Fri Jun 30 12:19:32 2006 +0000 @@ -942,7 +942,9 @@ case ssi_sharp_state: switch (ch) { case '#': - ctx->saved = 0; + if (p - ctx->pos < 4) { + ctx->saved = 0; + } looked = 0; state = ssi_precommand_state; break; diff -r 0de045bf51ad -r 649c9063d0fd src/http/ngx_http_upstream.c --- a/src/http/ngx_http_upstream.c Wed Jun 28 16:00:26 2006 +0000 +++ b/src/http/ngx_http_upstream.c Fri Jun 30 12:19:32 2006 +0000 @@ -1273,6 +1273,7 @@ if (clf->fd == r->request_body->temp_file->file.fd) { cl->handler(clf); cl->handler = NULL; + r->request_body->temp_file->file.fd = NGX_INVALID_FILE; break; } }