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 --git a/docs/xml/nginx/changes.xml b/docs/xml/nginx/changes.xml
index 879da4f..635851b 100644
--- 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 ÍÏÇ ÐÒÏÐÁÄÁÔØ ÓÉÍ×ÏÌÙ "<";
+ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50.
+</para>
+<para lang="en">
+the "<" 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 @@
<change type="bugfix">
<para lang="ru">
-ÓÉÍ×ÏÌ "\" × ÐÁÒÁÈ "\"" É "\'" × SSI ËÏÍÁÎÄÁÈ ÕÂÉÒÁÌÓÑ ÔÏÌØËÏ, ÅÓÌÉ
+ÓÉÍ×ÏÌ "\" × ÐÁÒÁÈ "\"" É "\'" × SSI ËÏÍÁÎÄÁÈ ÕÂÉÒÁÌÓÑ, ÔÏÌØËÏ ÅÓÌÉ
ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÓÉÍ×ÏÌ "$".
</para>
<para lang="en">
@@ -71,7 +87,7 @@
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÙÌÁ ÓÔÒÏËÁ <nobr>"Content-Length: 0",</nobr>
-ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÏÇÏ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÎÅ ÚÁËÒÙ×ÁÌÏÓØ ÓÏÅÄÉÎÅÎÉÅ
+ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÏÇÏ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÎÅ ÚÁËÒÙ×ÁÌÏÓØ ÓÏÅÄÉÎÅÎÉÅ
Ó ËÌÉÅÎÔÏÍ.
</para>
<para lang="en">
diff --git a/src/core/nginx.h b/src/core/nginx.h
index 834a4c8..91b6af2 100644
--- 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"
diff --git a/src/http/modules/ngx_http_charset_filter_module.c b/src/http/modules/ngx_http_charset_filter_module.c
index 635e6c5..b467e4d 100644
--- a/src/http/modules/ngx_http_charset_filter_module.c
+++ b/src/http/modules/ngx_http_charset_filter_module.c
@@ -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 --git a/src/http/modules/ngx_http_ssi_filter_module.c b/src/http/modules/ngx_http_ssi_filter_module.c
index 63c2dd1..5a65a03 100644
--- a/src/http/modules/ngx_http_ssi_filter_module.c
+++ b/src/http/modules/ngx_http_ssi_filter_module.c
@@ -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 --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index cf9d27b..a8c557a 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -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;
}
}