changeset 659:649c9063d0fd release-0.3.51

nginx-0.3.51-RELEASE import *) Bugfix: the "<" symbols might disappeared some conditions in the SSI; the bug had appeared in 0.3.50.
author Igor Sysoev <igor@sysoev.ru>
date Fri, 30 Jun 2006 12:19:32 +0000
parents 0de045bf51ad
children f27e6b2abcba
files docs/xml/nginx/changes.xml src/core/nginx.h src/http/modules/ngx_http_charset_filter_module.c src/http/modules/ngx_http_ssi_filter_module.c src/http/ngx_http_upstream.c
diffstat 5 files changed, 24 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/docs/xml/nginx/changes.xml
+++ b/docs/xml/nginx/changes.xml
@@ -9,6 +9,22 @@
 <title lang="en">nginx changelog</title>
 
 
+<changes ver="0.3.51" date="30.06.2006">
+
+<change type="bugfix">
+<para lang="ru">
+при некоторых условиях в SSI мог пропадать символы "&lt;";
+ошибка появилась в 0.3.50.
+</para>
+<para lang="en">
+the "&lt;" symbols might disappeared some conditions in the SSI;
+bug appeared in 0.3.50.
+</para>
+</change>
+
+</changes>
+
+
 <changes ver="0.3.50" date="28.06.2006">
 
 <change type="change">
@@ -48,7 +64,7 @@ and FastCGI mode.
 
 <change type="bugfix">
 <para lang="ru">
-символ "\" в парах "\"" и "\'" в SSI командах убирался только, если 
+символ "\" в парах "\"" и "\'" в SSI командах убирался, только если 
 также использовался символ "$".
 </para>
 <para lang="en">
@@ -71,7 +87,7 @@ in the SSI after inclusion.
 <change type="bugfix">
 <para lang="ru">
 если в заголовке ответа была строка <nobr>"Content-Length: 0",</nobr>
-при использовании небуферизированного проксировании не закрывалось соединение
+то при использовании небуферизированного проксировании не закрывалось соединение
 с клиентом.
 </para>
 <para lang="en">
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -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"
--- a/src/http/modules/ngx_http_charset_filter_module.c
+++ b/src/http/modules/ngx_http_charset_filter_module.c
@@ -217,7 +217,7 @@ ngx_http_charset_header_filter(ngx_http_
             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);
             }
--- a/src/http/modules/ngx_http_ssi_filter_module.c
+++ b/src/http/modules/ngx_http_ssi_filter_module.c
@@ -942,7 +942,9 @@ ngx_http_ssi_parse(ngx_http_request_t *r
         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;
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -1273,6 +1273,7 @@ ngx_http_upstream_send_response(ngx_http
                 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;
                 }
             }