aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_variables.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2005-05-26 18:12:40 +0000
committerIgor Sysoev <igor@sysoev.ru>2005-05-26 18:12:40 +0000
commit403d2443a38f0df9da01c6649ddfd49ab4b6a7e2 (patch)
tree21383258d4f7718cafe79604aa2af63e993620ab /src/http/ngx_http_variables.c
parent3144ab6c01a5776947a5cb60e04f1b1ba69ad9e0 (diff)
downloadnginx-release-0.1.34.tar.gz
nginx-release-0.1.34.zip
nginx-0.1.34-RELEASE importrelease-0.1.34
*) Bugfix: the worker process may got caught in an endless loop if the big response part were include by SSI. *) Bugfix: the variables set by the "set" directive were not available in SSI. *) Feature: the "autoindex_localtime" directive. *) Bugfix: the empty value of the "proxy_set_header" directive forbids the client request header line passing.
Diffstat (limited to 'src/http/ngx_http_variables.c')
-rw-r--r--src/http/ngx_http_variables.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/http/ngx_http_variables.c b/src/http/ngx_http_variables.c
index 12ab5154b..d66f0dc6c 100644
--- a/src/http/ngx_http_variables.c
+++ b/src/http/ngx_http_variables.c
@@ -276,7 +276,12 @@ ngx_http_get_variable(ngx_http_request_t *r, ngx_str_t *name)
if (v[key].name.len == name->len
&& ngx_strncmp(v[key].name.data, name->data, name->len) == 0)
{
- return v[key].handler(r, v[key].data);
+ if (v[key].flags & NGX_HTTP_VAR_INDEXED) {
+ return ngx_http_get_indexed_variable(r, v[key].data);
+
+ } else {
+ return v[key].handler(r, v[key].data);
+ }
}
if (ngx_strncmp(name->data, "http_", 5) == 0) {
@@ -701,7 +706,7 @@ ngx_http_variables_init_vars(ngx_conf_t *cf)
{
v[i].handler = av[n].handler;
v[i].data = av[n].data;
- v[i].flags = av[n].flags;
+ v[i].flags = av[n].flags | NGX_HTTP_VAR_INDEXED;
goto next;
}