comparison src/http/ngx_http_request.c @ 540:c04fa65fe604 NGINX_0_8_22

nginx 0.8.22 *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives. *) Feature: the "access" and the "deny" directives support IPv6. *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in request headers. *) Feature: the "unix:" parameter of the "set_real_ip_from" directive. *) Bugfix: nginx did not delete unix domain socket after configuration testing. *) Bugfix: nginx deleted unix domain socket while online upgrade. *) Bugfix: the "!-x" operator did not work. Thanks to Maxim Dounin. *) Bugfix: a segmentation fault might occur in a worker process, if limit_rate was used in HTTPS server. Thanks to Maxim Dounin. *) Bugfix: a segmentation fault might occur in a worker process while $limit_rate logging. Thanks to Maxim Dounin. *) Bugfix: a segmentation fault might occur in a worker process, if there was no "listen" directive in "server" block; the bug had appeared in 0.8.21.
author Igor Sysoev <http://sysoev.ru>
date Tue, 03 Nov 2009 00:00:00 +0300
parents 1dcf6adad484
children e19e5f542878
comparison
equal deleted inserted replaced
539:c88014f74832 540:c04fa65fe604
952 ngx_http_close_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); 952 ngx_http_close_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
953 return; 953 return;
954 } 954 }
955 955
956 if (rv == NGX_DECLINED) { 956 if (rv == NGX_DECLINED) {
957 len = r->header_in->end - r->header_name_start;
958 p = r->header_name_start; 957 p = r->header_name_start;
958
959 if (p == NULL) {
960 ngx_log_error(NGX_LOG_INFO, c->log, 0,
961 "client sent too large request");
962 ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
963 return;
964 }
965
966 len = r->header_in->end - p;
959 967
960 if (len > NGX_MAX_ERROR_STR - 300) { 968 if (len > NGX_MAX_ERROR_STR - 300) {
961 len = NGX_MAX_ERROR_STR - 300; 969 len = NGX_MAX_ERROR_STR - 300;
962 p[len++] = '.'; p[len++] = '.'; p[len++] = '.'; 970 p[len++] = '.'; p[len++] = '.'; p[len++] = '.';
963 } 971 }