comparison src/http/modules/ngx_http_proxy_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
835 key = ngx_array_push(&r->cache->keys); 835 key = ngx_array_push(&r->cache->keys);
836 if (key == NULL) { 836 if (key == NULL) {
837 return NGX_ERROR; 837 return NGX_ERROR;
838 } 838 }
839 839
840 if (plcf->cache_key.value.len) { 840 if (plcf->cache_key.value.data) {
841 841
842 if (ngx_http_complex_value(r, &plcf->cache_key, key) != NGX_OK) { 842 if (ngx_http_complex_value(r, &plcf->cache_key, key) != NGX_OK) {
843 return NGX_ERROR; 843 return NGX_ERROR;
844 } 844 }
845 845
1612 } else if (p->length < 0) { 1612 } else if (p->length < 0) {
1613 r = p->input_ctx; 1613 r = p->input_ctx;
1614 p->upstream_done = 1; 1614 p->upstream_done = 1;
1615 1615
1616 ngx_log_error(NGX_LOG_WARN, r->connection->log, 0, 1616 ngx_log_error(NGX_LOG_WARN, r->connection->log, 0,
1617 "upstream sent too much data"); 1617 "upstream sent more data than specified in "
1618 "\"Content-Length\" header");
1618 } 1619 }
1619 1620
1620 return NGX_OK; 1621 return NGX_OK;
1621 } 1622 }
1622 1623
3649 ngx_str_t *value; 3650 ngx_str_t *value;
3650 ngx_http_compile_complex_value_t ccv; 3651 ngx_http_compile_complex_value_t ccv;
3651 3652
3652 value = cf->args->elts; 3653 value = cf->args->elts;
3653 3654
3654 if (plcf->cache_key.value.len) { 3655 if (plcf->cache_key.value.data) {
3655 return "is duplicate"; 3656 return "is duplicate";
3656 } 3657 }
3657 3658
3658 ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t)); 3659 ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t));
3659 3660