# HG changeset patch # User Igor Sysoev # Date 1149084705 0 # Node ID 4c8cd5ae5cc100add5c08c252d991b82b1838c6b # Parent 01f41db063d4c4a378ba73789b9651e23566e5c3 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. diff --git a/docs/xml/nginx/changes.xml b/docs/xml/nginx/changes.xml --- a/docs/xml/nginx/changes.xml +++ b/docs/xml/nginx/changes.xml @@ -9,6 +9,32 @@ nginx changelog + + + + +в директиве set. + + +in the "set" directive. + + + + + +при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI, +вместо вывода второго и остальных подзапросов в ответ включался вывод +первого подзапроса. + + +if two or more FastCGI subrequests was in SSI, then first subrequest output +was included instead of second and following subrequests. + + + + + + diff --git a/src/core/nginx.h b/src/core/nginx.h --- 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" diff --git a/src/http/modules/ngx_http_fastcgi_module.c b/src/http/modules/ngx_http_fastcgi_module.c --- 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; } diff --git a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c --- 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;