changeset 208:b12b3b1a9426 NGINX_0_3_51

nginx 0.3.51 *) Bugfix: the "<" symbols might disappeared some conditions in the SSI; bug appeared in 0.3.50.
author Igor Sysoev <http://sysoev.ru>
date Fri, 30 Jun 2006 00:00:00 +0400
parents 7169c2fc12f5
children 10c6621dce28
files CHANGES CHANGES.ru 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 6 files changed, 21 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,10 @@
 
+Changes with nginx 0.3.51                                        30 Jun 2006
+
+    *) Bugfix: the "<" symbols might disappeared some conditions in the 
+       SSI; bug appeared in 0.3.50.
+
+
 Changes with nginx 0.3.50                                        28 Jun 2006
 
     *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors" 
--- a/CHANGES.ru
+++ b/CHANGES.ru
@@ -1,4 +1,10 @@
 
+Изменения в nginx 0.3.51                                          30.06.2006
+
+    *) Исправление: при некоторых условиях в SSI мог пропадать символы "<"; 
+       ошибка появилась в 0.3.50.
+
+
 Изменения в nginx 0.3.50                                          28.06.2006
 
     *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors 
@@ -11,14 +17,14 @@
     *) Добавление: в режиме прокси и FastCGI поддерживается строка 
        заголовка "X-Accel-Charset" в ответе бэкенда.
 
-    *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался 
-       только, если также использовался символ "$".
+    *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался, 
+       только если также использовался символ "$".
 
     *) Исправление: при некоторых условиях в SSI после вставки могла быть 
        добавлена строка "<!--".
 
     *) Исправление: если в заголовке ответа была строка 
-       "Content-Length: 0", при использовании небуферизированного 
+       "Content-Length: 0", то при использовании небуферизированного 
        проксировании не закрывалось соединение с клиентом.
 
 
--- 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;
                 }
             }