Mercurial > hg > nginx-vendor-1-0
comparison src/http/modules/ngx_http_scgi_module.c @ 592:09d5f308901f NGINX_0_8_48
nginx 0.8.48
*) Change: now the "server_name" directive default value is an empty
name "".
Thanks to Gena Makhomed.
*) Change: now the "server_name_in_redirect" directive default value is
"off".
*) Feature: the $geoip_dma_code, $geoip_area_code, and
$geoip_region_name variables.
Thanks to Christine McGonagle.
*) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and
"scgi_pass" directives were not inherited inside "limit_except"
blocks.
*) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
"uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not
work; the bug had appeared in 0.8.46.
*) Bugfix: the "fastcgi_split_path_info" directive used incorrectly
captures, if only parts of an URI were captured.
Thanks to Yuriy Taraday and Frank Enderle.
*) Bugfix: the "rewrite" directive did not escape a ";" character
during copying from URI to query string.
Thanks to Daisuke Murase.
*) Bugfix: the ngx_http_image_filter_module closed a connection, if an
image was larger than "image_filter_buffer" size.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 03 Aug 2010 00:00:00 +0400 |
parents | b6a5942a4e6a |
children | b9763778e212 |
comparison
equal
deleted
inserted
replaced
591:8b891ad58d6a | 592:09d5f308901f |
---|---|
174 NULL }, | 174 NULL }, |
175 | 175 |
176 #if (NGX_HTTP_CACHE) | 176 #if (NGX_HTTP_CACHE) |
177 | 177 |
178 { ngx_string("scgi_cache"), | 178 { ngx_string("scgi_cache"), |
179 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 179 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
180 ngx_http_scgi_cache, | 180 ngx_http_scgi_cache, |
181 NGX_HTTP_LOC_CONF_OFFSET, | 181 NGX_HTTP_LOC_CONF_OFFSET, |
182 0, | 182 0, |
183 NULL }, | 183 NULL }, |
184 | 184 |
185 { ngx_string("scgi_cache_key"), | 185 { ngx_string("scgi_cache_key"), |
186 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 186 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
187 ngx_http_scgi_cache_key, | 187 ngx_http_scgi_cache_key, |
188 NGX_HTTP_LOC_CONF_OFFSET, | 188 NGX_HTTP_LOC_CONF_OFFSET, |
189 0, | 189 0, |
190 NULL }, | 190 NULL }, |
191 | 191 |
274 NGX_HTTP_LOC_CONF_OFFSET, | 274 NGX_HTTP_LOC_CONF_OFFSET, |
275 offsetof(ngx_http_scgi_loc_conf_t, params_source), | 275 offsetof(ngx_http_scgi_loc_conf_t, params_source), |
276 NULL }, | 276 NULL }, |
277 | 277 |
278 { ngx_string("scgi_pass_header"), | 278 { ngx_string("scgi_pass_header"), |
279 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 279 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
280 ngx_conf_set_str_array_slot, | 280 ngx_conf_set_str_array_slot, |
281 NGX_HTTP_LOC_CONF_OFFSET, | 281 NGX_HTTP_LOC_CONF_OFFSET, |
282 offsetof(ngx_http_scgi_loc_conf_t, upstream.pass_headers), | 282 offsetof(ngx_http_scgi_loc_conf_t, upstream.pass_headers), |
283 NULL }, | 283 NULL }, |
284 | 284 |
285 { ngx_string("scgi_hide_header"), | 285 { ngx_string("scgi_hide_header"), |
286 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 286 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
287 ngx_conf_set_str_array_slot, | 287 ngx_conf_set_str_array_slot, |
288 NGX_HTTP_LOC_CONF_OFFSET, | 288 NGX_HTTP_LOC_CONF_OFFSET, |
289 offsetof(ngx_http_scgi_loc_conf_t, upstream.hide_headers), | 289 offsetof(ngx_http_scgi_loc_conf_t, upstream.hide_headers), |
290 NULL }, | 290 NULL }, |
291 | 291 |
1051 ngx_uint_t i; | 1051 ngx_uint_t i; |
1052 ngx_array_t headers_names; | 1052 ngx_array_t headers_names; |
1053 ngx_keyval_t *src; | 1053 ngx_keyval_t *src; |
1054 ngx_hash_key_t *hk; | 1054 ngx_hash_key_t *hk; |
1055 ngx_hash_init_t hash; | 1055 ngx_hash_init_t hash; |
1056 ngx_http_core_loc_conf_t *clcf; | |
1056 ngx_http_script_compile_t sc; | 1057 ngx_http_script_compile_t sc; |
1057 ngx_http_script_copy_code_t *copy; | 1058 ngx_http_script_copy_code_t *copy; |
1058 | 1059 |
1059 if (conf->upstream.store != 0) { | 1060 if (conf->upstream.store != 0) { |
1060 ngx_conf_merge_value(conf->upstream.store, prev->upstream.store, 0); | 1061 ngx_conf_merge_value(conf->upstream.store, prev->upstream.store, 0); |
1283 if (conf->scgi_lengths == NULL) { | 1284 if (conf->scgi_lengths == NULL) { |
1284 conf->scgi_lengths = prev->scgi_lengths; | 1285 conf->scgi_lengths = prev->scgi_lengths; |
1285 conf->scgi_values = prev->scgi_values; | 1286 conf->scgi_values = prev->scgi_values; |
1286 } | 1287 } |
1287 | 1288 |
1289 if (conf->upstream.upstream || conf->scgi_lengths) { | |
1290 clcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module); | |
1291 if (clcf->handler == NULL && clcf->lmt_excpt) { | |
1292 clcf->handler = ngx_http_scgi_handler; | |
1293 } | |
1294 } | |
1295 | |
1288 if (conf->params_source == NULL) { | 1296 if (conf->params_source == NULL) { |
1289 conf->flushes = prev->flushes; | 1297 conf->flushes = prev->flushes; |
1290 conf->params_len = prev->params_len; | 1298 conf->params_len = prev->params_len; |
1291 conf->params = prev->params; | 1299 conf->params = prev->params; |
1292 conf->params_source = prev->params_source; | 1300 conf->params_source = prev->params_source; |