comparison src/http/ngx_http_core_module.c @ 633:f971949ffb58 release-0.3.38

nginx-0.3.38-RELEASE import *) Feature: the ngx_http_dav_module. *) Change: the ngx_http_perl_module optimizations. Thanks to Sergey Skvortsov. *) Feature: the ngx_http_perl_module supports the $r->request_body_file method. *) Feature: the "client_body_in_file_only" directive. *) Workaround: now on disk overflow nginx tries to write access logs once a second only. Thanks to Anton Yuzhaninov and Maxim Dounin. *) Bugfix: now the "limit_rate" directive more precisely limits rate if rate is more than 100 Kbyte/s. Thanks to ForJest. *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and password to pass authorization server. Thanks to Maxim Dounin.
author Igor Sysoev <igor@sysoev.ru>
date Fri, 14 Apr 2006 09:53:38 +0000
parents 5d2b8078c1c2
children 18268abd340c
comparison
equal deleted inserted replaced
632:5c60f5f0887d 633:f971949ffb58
266 ngx_conf_set_path_slot, 266 ngx_conf_set_path_slot,
267 NGX_HTTP_LOC_CONF_OFFSET, 267 NGX_HTTP_LOC_CONF_OFFSET,
268 offsetof(ngx_http_core_loc_conf_t, client_body_temp_path), 268 offsetof(ngx_http_core_loc_conf_t, client_body_temp_path),
269 (void *) ngx_garbage_collector_temp_handler }, 269 (void *) ngx_garbage_collector_temp_handler },
270 270
271 { ngx_string("client_body_in_file_only"),
272 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
273 ngx_conf_set_flag_slot,
274 NGX_HTTP_LOC_CONF_OFFSET,
275 offsetof(ngx_http_core_loc_conf_t, client_body_in_file_only),
276 NULL },
277
271 { ngx_string("sendfile"), 278 { ngx_string("sendfile"),
272 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_FLAG,
273 ngx_conf_set_flag_slot, 280 ngx_conf_set_flag_slot,
274 NGX_HTTP_LOC_CONF_OFFSET, 281 NGX_HTTP_LOC_CONF_OFFSET,
275 offsetof(ngx_http_core_loc_conf_t, sendfile), 282 offsetof(ngx_http_core_loc_conf_t, sendfile),
739 if ((ngx_io.flags & NGX_IO_SENDFILE) && clcf->sendfile) { 746 if ((ngx_io.flags & NGX_IO_SENDFILE) && clcf->sendfile) {
740 r->connection->sendfile = 1; 747 r->connection->sendfile = 1;
741 748
742 } else { 749 } else {
743 r->connection->sendfile = 0; 750 r->connection->sendfile = 0;
751 }
752
753 if (clcf->client_body_in_file_only) {
754 r->request_body_in_file_only = 1;
755 r->request_body_in_persistent_file = 1;
744 } 756 }
745 757
746 if (r->keepalive && clcf->keepalive_timeout == 0) { 758 if (r->keepalive && clcf->keepalive_timeout == 0) {
747 r->keepalive = 0; 759 r->keepalive = 0;
748 } 760 }
1985 lcf->client_max_body_size = NGX_CONF_UNSET_SIZE; 1997 lcf->client_max_body_size = NGX_CONF_UNSET_SIZE;
1986 lcf->client_body_buffer_size = NGX_CONF_UNSET_SIZE; 1998 lcf->client_body_buffer_size = NGX_CONF_UNSET_SIZE;
1987 lcf->client_body_timeout = NGX_CONF_UNSET_MSEC; 1999 lcf->client_body_timeout = NGX_CONF_UNSET_MSEC;
1988 lcf->satisfy_any = NGX_CONF_UNSET; 2000 lcf->satisfy_any = NGX_CONF_UNSET;
1989 lcf->internal = NGX_CONF_UNSET; 2001 lcf->internal = NGX_CONF_UNSET;
2002 lcf->client_body_in_file_only = NGX_CONF_UNSET;
1990 lcf->sendfile = NGX_CONF_UNSET; 2003 lcf->sendfile = NGX_CONF_UNSET;
1991 lcf->tcp_nopush = NGX_CONF_UNSET; 2004 lcf->tcp_nopush = NGX_CONF_UNSET;
1992 lcf->tcp_nodelay = NGX_CONF_UNSET; 2005 lcf->tcp_nodelay = NGX_CONF_UNSET;
1993 lcf->send_timeout = NGX_CONF_UNSET_MSEC; 2006 lcf->send_timeout = NGX_CONF_UNSET_MSEC;
1994 lcf->send_lowat = NGX_CONF_UNSET_SIZE; 2007 lcf->send_lowat = NGX_CONF_UNSET_SIZE;
2149 ngx_conf_merge_msec_value(conf->client_body_timeout, 2162 ngx_conf_merge_msec_value(conf->client_body_timeout,
2150 prev->client_body_timeout, 60000); 2163 prev->client_body_timeout, 60000);
2151 2164
2152 ngx_conf_merge_value(conf->satisfy_any, prev->satisfy_any, 0); 2165 ngx_conf_merge_value(conf->satisfy_any, prev->satisfy_any, 0);
2153 ngx_conf_merge_value(conf->internal, prev->internal, 0); 2166 ngx_conf_merge_value(conf->internal, prev->internal, 0);
2167 ngx_conf_merge_value(conf->client_body_in_file_only,
2168 prev->client_body_in_file_only, 0);
2154 ngx_conf_merge_value(conf->sendfile, prev->sendfile, 0); 2169 ngx_conf_merge_value(conf->sendfile, prev->sendfile, 0);
2155 ngx_conf_merge_value(conf->tcp_nopush, prev->tcp_nopush, 0); 2170 ngx_conf_merge_value(conf->tcp_nopush, prev->tcp_nopush, 0);
2156 ngx_conf_merge_value(conf->tcp_nodelay, prev->tcp_nodelay, 0); 2171 ngx_conf_merge_value(conf->tcp_nodelay, prev->tcp_nodelay, 0);
2157 2172
2158 ngx_conf_merge_msec_value(conf->send_timeout, prev->send_timeout, 60000); 2173 ngx_conf_merge_msec_value(conf->send_timeout, prev->send_timeout, 60000);