comparison src/http/modules/ngx_http_fastcgi_module.c @ 318:fc223117327f NGINX_0_6_3

nginx 0.6.3 *) Feature: the "proxy_store" and "fastcgi_store" directives. *) Bugfix: a segmentation fault might occur in worker process if the "auth_http_header" directive was used. Thanks to Maxim Dounin. *) Bugfix: a segmentation fault occurred in worker process if the CRAM-MD5 authentication method was used, but it was not enabled. *) Bugfix: a segmentation fault might occur in worker process when the HTTPS protocol was used in the "proxy_pass" directive. *) Bugfix: a segmentation fault might occur in worker process if the eventport method was used. *) Bugfix: the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives did not work; bug appeared in 0.5.13.
author Igor Sysoev <http://sysoev.ru>
date Thu, 12 Jul 2007 00:00:00 +0400
parents a6d84efa5106
children 95183808f549
comparison
equal deleted inserted replaced
317:fcdf0e42c859 318:fc223117327f
196 { ngx_string("fastcgi_index"), 196 { ngx_string("fastcgi_index"),
197 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, 197 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
198 ngx_conf_set_str_slot, 198 ngx_conf_set_str_slot,
199 NGX_HTTP_LOC_CONF_OFFSET, 199 NGX_HTTP_LOC_CONF_OFFSET,
200 offsetof(ngx_http_fastcgi_loc_conf_t, index), 200 offsetof(ngx_http_fastcgi_loc_conf_t, index),
201 NULL },
202
203 { ngx_string("fastcgi_store"),
204 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE123,
205 ngx_conf_set_access_slot,
206 NGX_HTTP_LOC_CONF_OFFSET,
207 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.store),
201 NULL }, 208 NULL },
202 209
203 { ngx_string("fastcgi_ignore_client_abort"), 210 { ngx_string("fastcgi_ignore_client_abort"),
204 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, 211 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
205 ngx_conf_set_flag_slot, 212 ngx_conf_set_flag_slot,
1631 * 1638 *
1632 * conf->index.len = 0; 1639 * conf->index.len = 0;
1633 * conf->index.data = NULL; 1640 * conf->index.data = NULL;
1634 */ 1641 */
1635 1642
1643 conf->upstream.store = NGX_CONF_UNSET_UINT;
1636 conf->upstream.buffering = NGX_CONF_UNSET; 1644 conf->upstream.buffering = NGX_CONF_UNSET;
1637 conf->upstream.ignore_client_abort = NGX_CONF_UNSET; 1645 conf->upstream.ignore_client_abort = NGX_CONF_UNSET;
1638 1646
1639 conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC; 1647 conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC;
1640 conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC; 1648 conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC;
1675 ngx_hash_key_t *hk; 1683 ngx_hash_key_t *hk;
1676 ngx_hash_init_t hash; 1684 ngx_hash_init_t hash;
1677 ngx_http_script_compile_t sc; 1685 ngx_http_script_compile_t sc;
1678 ngx_http_script_copy_code_t *copy; 1686 ngx_http_script_copy_code_t *copy;
1679 1687
1688 ngx_conf_merge_uint_value(conf->upstream.store,
1689 prev->upstream.store, 0);
1690
1680 ngx_conf_merge_value(conf->upstream.buffering, 1691 ngx_conf_merge_value(conf->upstream.buffering,
1681 prev->upstream.buffering, 1); 1692 prev->upstream.buffering, 1);
1682 1693
1683 ngx_conf_merge_value(conf->upstream.ignore_client_abort, 1694 ngx_conf_merge_value(conf->upstream.ignore_client_abort,
1684 prev->upstream.ignore_client_abort, 0); 1695 prev->upstream.ignore_client_abort, 0);