changeset 204:2a97b47ff8db NGINX_0_3_49

nginx 0.3.49 *) 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 <http://sysoev.ru>
date Wed, 31 May 2006 00:00:00 +0400
parents 14db5e3fc915
children e53bd15c244a
files CHANGES CHANGES.ru src/core/nginx.h src/http/modules/ngx_http_fastcgi_module.c src/http/ngx_http_script.c
diffstat 5 files changed, 23 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,13 @@
 
+Changes with nginx 0.3.49                                        31 May 2006
+
+    *) 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.
+
+
 Changes with nginx 0.3.48                                        29 May 2006
 
     *) Change: now the ngx_http_charset_module works for subrequests, if 
--- a/CHANGES.ru
+++ b/CHANGES.ru
@@ -1,4 +1,13 @@
 
+Изменения в nginx 0.3.49                                          31.05.2006
+
+    *) Исправление: в директиве set.
+
+    *) Исправление: при включении в ssi двух и более подзапросов, 
+       обрабатываемых через FastCGI, вместо вывода второго и остальных 
+       подзапросов в ответ включался вывод первого подзапроса.
+
+
 Изменения в nginx 0.3.48                                          29.05.2006
 
     *) Изменение: теперь модуль ngx_http_charset_module работает для 
--- 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;