comparison src/http/ngx_http_core_module.c @ 694:88a1b4797f2e NGINX_1_3_10

nginx 1.3.10 *) Change: domain names specified in configuration file are now resolved to IPv6 addresses as well as IPv4 ones. *) Change: now if the "include" directive with mask is used on Unix systems, included files are sorted in alphabetical order. *) Change: the "add_header" directive adds headers to 201 responses. *) Feature: the "geo" directive now supports IPv6 addresses in CIDR notation. *) Feature: the "flush" and "gzip" parameters of the "access_log" directive. *) Feature: variables support in the "auth_basic" directive. *) Bugfix: nginx could not be built with the ngx_http_perl_module in some cases. *) Bugfix: a segmentation fault might occur in a worker process if the ngx_http_xslt_module was used. *) Bugfix: nginx could not be built on MacOSX in some cases. Thanks to Piotr Sikora. *) Bugfix: the "limit_rate" directive with high rates might result in truncated responses on 32-bit platforms. Thanks to Alexey Antropov. *) Bugfix: a segmentation fault might occur in a worker process if the "if" directive was used. Thanks to Piotr Sikora. *) Bugfix: a "100 Continue" response was issued with "413 Request Entity Too Large" responses. *) Bugfix: the "image_filter", "image_filter_jpeg_quality" and "image_filter_sharpen" directives might be inherited incorrectly. Thanks to Ian Babrou. *) Bugfix: "crypt_r() failed" errors might appear if the "auth_basic" directive was used on Linux. *) Bugfix: in backup servers handling. Thanks to Thomas Chen. *) Bugfix: proxied HEAD requests might return incorrect response if the "gzip" directive was used.
author Igor Sysoev <http://sysoev.ru>
date Tue, 25 Dec 2012 00:00:00 +0400
parents 6db6e93f55ee
children
comparison
equal deleted inserted replaced
693:cfd4279acc6e 694:88a1b4797f2e
999 { 999 {
1000 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, 1000 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
1001 "client intended to send too large body: %O bytes", 1001 "client intended to send too large body: %O bytes",
1002 r->headers_in.content_length_n); 1002 r->headers_in.content_length_n);
1003 1003
1004 r->expect_tested = 1;
1004 (void) ngx_http_discard_request_body(r); 1005 (void) ngx_http_discard_request_body(r);
1005 ngx_http_finalize_request(r, NGX_HTTP_REQUEST_ENTITY_TOO_LARGE); 1006 ngx_http_finalize_request(r, NGX_HTTP_REQUEST_ENTITY_TOO_LARGE);
1006 return NGX_OK; 1007 return NGX_OK;
1007 } 1008 }
1008 1009
4591 return NGX_CONF_ERROR; 4592 return NGX_CONF_ERROR;
4592 } 4593 }
4593 4594
4594 ngx_str_null(&args); 4595 ngx_str_null(&args);
4595 4596
4596 if (cv.lengths == NULL && uri.data[0] == '/') { 4597 if (cv.lengths == NULL && uri.len && uri.data[0] == '/') {
4597 p = (u_char *) ngx_strchr(uri.data, '?'); 4598 p = (u_char *) ngx_strchr(uri.data, '?');
4598 4599
4599 if (p) { 4600 if (p) {
4600 cv.value.len = p - uri.data; 4601 cv.value.len = p - uri.data;
4601 cv.value.data = uri.data; 4602 cv.value.data = uri.data;