changeset 655:4c8cd5ae5cc1 release-0.3.49

nginx-0.3.49-RELEASE import *) Bugfix: in the "set" directive. *) Bugfix: if two or more FastCGI subrequests was in SSI, then first subrequest output was included instead of second and following subrequests.
author Igor Sysoev <igor@sysoev.ru>
date Wed, 31 May 2006 14:11:45 +0000
parents 01f41db063d4
children 97f36f8e65dd
files docs/xml/nginx/changes.xml src/core/nginx.h src/http/modules/ngx_http_fastcgi_module.c src/http/ngx_http_script.c
diffstat 4 files changed, 31 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/docs/xml/nginx/changes.xml
+++ b/docs/xml/nginx/changes.xml
@@ -9,6 +9,32 @@
 <title lang="en">nginx changelog</title>
 
 
+<changes ver="0.3.49" date="31.05.2006">
+
+<change type="bugfix">
+<para lang="ru">
+в директиве set.
+</para>
+<para lang="en">
+in the "set" directive.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI,
+вместо вывода второго и остальных подзапросов в ответ включался вывод
+первого подзапроса.
+</para>
+<para lang="en">
+if two or more FastCGI subrequests was in SSI, then first subrequest output
+was included instead of second and following subrequests.
+</para>
+</change>
+
+</changes>
+
+
 <changes ver="0.3.48" date="29.05.2006">
 
 <change type="change">
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -8,7 +8,7 @@
 #define _NGINX_H_INCLUDED_
 
 
-#define NGINX_VER          "nginx/0.3.48"
+#define NGINX_VER          "nginx/0.3.49"
 
 #define NGINX_VAR          "NGINX"
 #define NGX_OLDPID_EXT     ".oldbin"
--- a/src/http/modules/ngx_http_fastcgi_module.c
+++ b/src/http/modules/ngx_http_fastcgi_module.c
@@ -1476,7 +1476,7 @@ ngx_http_fastcgi_add_variables(ngx_conf_
     ngx_http_variable_t  *var;
 
     var = ngx_http_add_variable(cf, &ngx_http_fastcgi_script_name,
-                                NGX_HTTP_VAR_NOHASH);
+                                NGX_HTTP_VAR_NOHASH|NGX_HTTP_VAR_NOCACHABLE);
     if (var == NULL) {
         return NGX_ERROR;
     }
--- a/src/http/ngx_http_script.c
+++ b/src/http/ngx_http_script.c
@@ -501,7 +501,7 @@ ngx_http_script_copy_capture_len_code(ng
             && (e->request->quoted_uri || e->request->plus_in_uri))
         {
             return e->captures[code->n + 1] - e->captures[code->n]
-                   + ngx_escape_uri(NULL,
+                   + 2 * ngx_escape_uri(NULL,
                                 &e->line.data[e->captures[code->n]],
                                 e->captures[code->n + 1] - e->captures[code->n],
                                 NGX_ESCAPE_ARGS);
@@ -1016,9 +1016,11 @@ ngx_http_script_complex_value_code(ngx_h
     ngx_memzero(&le, sizeof(ngx_http_script_engine_t));
 
     le.ip = code->lengths->elts;
+    le.line = e->line;
     le.request = e->request;
     le.captures = e->captures;
     le.ncaptures = e->ncaptures;
+    le.quote = e->quote;
 
     for (len = 0; *(uintptr_t *) le.ip; len += lcode(&le)) {
         lcode = *(ngx_http_script_len_code_pt *) le.ip;