# HG changeset patch # User Igor Sysoev # Date 1149019200 -14400 # Node ID 2a97b47ff8dbacaf5969432084b9180c6061ef8e # Parent 14db5e3fc915621c94c487cf5a08e1a5c8fc6819 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. diff --git a/CHANGES b/CHANGES --- 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 diff --git a/CHANGES.ru b/CHANGES.ru --- 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 работает для 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;