diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2012-08-06 17:34:08 +0000 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2012-08-06 17:34:08 +0000 |
commit | cfef618a6fc7dc003eb42f359931101fa9c1a79f (patch) | |
tree | 8c714f3eda8218d43ae34fc3c745e50b1b40ada2 | |
parent | 6145efaef48172485df62934b3e0f08822ce2e18 (diff) | |
download | nginx-cfef618a6fc7dc003eb42f359931101fa9c1a79f.tar.gz nginx-cfef618a6fc7dc003eb42f359931101fa9c1a79f.zip |
Merge of r4770: hide_headers/pass_headers inheritance fix.
Hide headers and pass headers arrays might not be inherited correctly
into a nested location, e.g. in configuration like
server {
proxy_hide_header X-Foo;
location / {
location /nested/ {
proxy_pass_header X-Pad;
}
}
}
the X-Foo header wasn't hidden in the location /nested/.
Reported by Konstantin Svist,
http://mailman.nginx.org/pipermail/nginx-ru/2012-July/047555.html
-rw-r--r-- | src/http/ngx_http_upstream.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index 2cbb2cb93..6c34f39d6 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -4541,6 +4541,9 @@ ngx_http_upstream_hide_headers_hash(ngx_conf_t *cf, if (conf->hide_headers == NGX_CONF_UNSET_PTR && conf->pass_headers == NGX_CONF_UNSET_PTR) { + conf->hide_headers = prev->hide_headers; + conf->pass_headers = prev->pass_headers; + conf->hide_headers_hash = prev->hide_headers_hash; if (conf->hide_headers_hash.buckets @@ -4552,9 +4555,6 @@ ngx_http_upstream_hide_headers_hash(ngx_conf_t *cf, return NGX_OK; } - conf->hide_headers = prev->hide_headers; - conf->pass_headers = prev->pass_headers; - } else { if (conf->hide_headers == NGX_CONF_UNSET_PTR) { conf->hide_headers = prev->hide_headers; |