Mercurial > hg > nginx-vendor-current
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 } |