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
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;