comparison src/http/ngx_http_core_module.c @ 648:f200748c0ac8 NGINX_1_1_8

nginx 1.1.8 *) Change: the ngx_http_limit_zone_module was renamed to the ngx_http_limit_conn_module. *) Change: the "limit_zone" directive was superseded by the "limit_conn_zone" directive with a new syntax. *) Feature: support for multiple "limit_conn" limits on the same level. *) Feature: the "image_filter_sharpen" directive. *) Bugfix: a segmentation fault might occur in a worker process if resolver got a big DNS response. Thanks to Ben Hawkes. *) Bugfix: in cache key calculation if internal MD5 implementation was used; the bug had appeared in 1.0.4. *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request header lines might be passed to backend while caching; or not passed without caching if caching was enabled in another part of the configuration. *) Bugfix: the module ngx_http_mp4_module sent incorrect "Content-Length" response header line if the "start" argument was used. Thanks to Piotr Sikora.
author Igor Sysoev <http://sysoev.ru>
date Mon, 14 Nov 2011 00:00:00 +0400
parents 615b5ea36fc0
children 4d05413aebad
comparison
equal deleted inserted replaced
647:bec017127243 648:f200748c0ac8
141 { ngx_string("before"), NGX_HTTP_IMS_BEFORE }, 141 { ngx_string("before"), NGX_HTTP_IMS_BEFORE },
142 { ngx_null_string, 0 } 142 { ngx_null_string, 0 }
143 }; 143 };
144 144
145 145
146 static ngx_conf_enum_t ngx_http_core_keepalive_disable[] = { 146 static ngx_conf_bitmask_t ngx_http_core_keepalive_disable[] = {
147 { ngx_string("none"), NGX_HTTP_KEEPALIVE_DISABLE_NONE }, 147 { ngx_string("none"), NGX_HTTP_KEEPALIVE_DISABLE_NONE },
148 { ngx_string("msie6"), NGX_HTTP_KEEPALIVE_DISABLE_MSIE6 }, 148 { ngx_string("msie6"), NGX_HTTP_KEEPALIVE_DISABLE_MSIE6 },
149 { ngx_string("safari"), NGX_HTTP_KEEPALIVE_DISABLE_SAFARI }, 149 { ngx_string("safari"), NGX_HTTP_KEEPALIVE_DISABLE_SAFARI },
150 { ngx_null_string, 0 } 150 { ngx_null_string, 0 }
151 }; 151 };
511 NGX_HTTP_LOC_CONF_OFFSET, 511 NGX_HTTP_LOC_CONF_OFFSET,
512 offsetof(ngx_http_core_loc_conf_t, keepalive_requests), 512 offsetof(ngx_http_core_loc_conf_t, keepalive_requests),
513 NULL }, 513 NULL },
514 514
515 { ngx_string("keepalive_disable"), 515 { ngx_string("keepalive_disable"),
516 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, 516 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE12,
517 ngx_conf_set_enum_slot, 517 ngx_conf_set_bitmask_slot,
518 NGX_HTTP_LOC_CONF_OFFSET, 518 NGX_HTTP_LOC_CONF_OFFSET,
519 offsetof(ngx_http_core_loc_conf_t, keepalive_disable), 519 offsetof(ngx_http_core_loc_conf_t, keepalive_disable),
520 &ngx_http_core_keepalive_disable }, 520 &ngx_http_core_keepalive_disable },
521 521
522 { ngx_string("satisfy"), 522 { ngx_string("satisfy"),
3473 prev->client_body_buffer_size, 3473 prev->client_body_buffer_size,
3474 (size_t) 2 * ngx_pagesize); 3474 (size_t) 2 * ngx_pagesize);
3475 ngx_conf_merge_msec_value(conf->client_body_timeout, 3475 ngx_conf_merge_msec_value(conf->client_body_timeout,
3476 prev->client_body_timeout, 60000); 3476 prev->client_body_timeout, 60000);
3477 3477
3478 ngx_conf_merge_uint_value(conf->keepalive_disable, prev->keepalive_disable, 3478 ngx_conf_merge_bitmask_value(conf->keepalive_disable,
3479 NGX_HTTP_KEEPALIVE_DISABLE_MSIE6 3479 prev->keepalive_disable,
3480 |NGX_HTTP_KEEPALIVE_DISABLE_SAFARI); 3480 (NGX_CONF_BITMASK_SET
3481 |NGX_HTTP_KEEPALIVE_DISABLE_MSIE6
3482 |NGX_HTTP_KEEPALIVE_DISABLE_SAFARI));
3481 ngx_conf_merge_uint_value(conf->satisfy, prev->satisfy, 3483 ngx_conf_merge_uint_value(conf->satisfy, prev->satisfy,
3482 NGX_HTTP_SATISFY_ALL); 3484 NGX_HTTP_SATISFY_ALL);
3483 ngx_conf_merge_uint_value(conf->if_modified_since, prev->if_modified_since, 3485 ngx_conf_merge_uint_value(conf->if_modified_since, prev->if_modified_since,
3484 NGX_HTTP_IMS_EXACT); 3486 NGX_HTTP_IMS_EXACT);
3485 ngx_conf_merge_uint_value(conf->max_ranges, prev->max_ranges, 3487 ngx_conf_merge_uint_value(conf->max_ranges, prev->max_ranges,
4396 for (i = 1; i < cf->args->nelts; i++) { 4398 for (i = 1; i < cf->args->nelts; i++) {
4397 4399
4398 if (ngx_strncmp(value[i].data, "max=", 4) == 0) { 4400 if (ngx_strncmp(value[i].data, "max=", 4) == 0) {
4399 4401
4400 max = ngx_atoi(value[i].data + 4, value[i].len - 4); 4402 max = ngx_atoi(value[i].data + 4, value[i].len - 4);
4401 if (max == NGX_ERROR) { 4403 if (max <= 0) {
4402 goto failed; 4404 goto failed;
4403 } 4405 }
4404 4406
4405 continue; 4407 continue;
4406 } 4408 }