diff options
author | Igor Sysoev <igor@sysoev.ru> | 2005-05-26 18:12:40 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2005-05-26 18:12:40 +0000 |
commit | 403d2443a38f0df9da01c6649ddfd49ab4b6a7e2 (patch) | |
tree | 21383258d4f7718cafe79604aa2af63e993620ab /src/http/ngx_http_variables.c | |
parent | 3144ab6c01a5776947a5cb60e04f1b1ba69ad9e0 (diff) | |
download | nginx-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.c | 9 |
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; } |