Mercurial > hg > nginx-quic
comparison src/http/modules/ngx_http_uwsgi_module.c @ 5948:f2ff0aa89126
Upstream: mutually exclusive inheritance of "cache" and "store".
Currently, storing and caching mechanisms cannot work together, and a
configuration error is thrown when the proxy_store and proxy_cache
directives (as well as their friends) are configured on the same level.
But configurations like in the example below were allowed and could result
in critical errors in the error log:
proxy_store on;
location / {
proxy_cache one;
}
Only proxy_store worked in this case.
For more predictable and errorless behavior these directives now prevent
each other from being inherited from the previous level.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Mon, 22 Dec 2014 12:58:59 +0300 |
parents | d9025ea1f5a5 |
children | 634da79665d3 |
comparison
equal
deleted
inserted
replaced
5947:d9025ea1f5a5 | 5948:f2ff0aa89126 |
---|---|
1398 size_t size; | 1398 size_t size; |
1399 ngx_int_t rc; | 1399 ngx_int_t rc; |
1400 ngx_hash_init_t hash; | 1400 ngx_hash_init_t hash; |
1401 ngx_http_core_loc_conf_t *clcf; | 1401 ngx_http_core_loc_conf_t *clcf; |
1402 | 1402 |
1403 #if (NGX_HTTP_CACHE) | |
1404 | |
1405 if (conf->upstream.store > 0) { | |
1406 conf->upstream.cache = NULL; | |
1407 } | |
1408 | |
1409 if (conf->upstream.cache != NGX_CONF_UNSET_PTR | |
1410 && conf->upstream.cache != NULL) | |
1411 { | |
1412 conf->upstream.store = 0; | |
1413 } | |
1414 | |
1415 #endif | |
1416 | |
1403 if (conf->upstream.store == NGX_CONF_UNSET) { | 1417 if (conf->upstream.store == NGX_CONF_UNSET) { |
1404 ngx_conf_merge_value(conf->upstream.store, prev->upstream.store, 0); | 1418 ngx_conf_merge_value(conf->upstream.store, prev->upstream.store, 0); |
1405 | 1419 |
1406 conf->upstream.store_lengths = prev->upstream.store_lengths; | 1420 conf->upstream.store_lengths = prev->upstream.store_lengths; |
1407 conf->upstream.store_values = prev->upstream.store_values; | 1421 conf->upstream.store_values = prev->upstream.store_values; |