From 0687ed071b02967d8b0079cb54c8c041a616ebab Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Wed, 12 Dec 2007 21:11:21 +0000 Subject: [PATCH] r1678, r1679 merge: *) copy protocol value when large request line is copied, this fixes error "fastcgi: the request record is too big" *) log how big fastcgi record --- src/http/modules/ngx_http_fastcgi_module.c | 2 +- src/http/ngx_http_request.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/http/modules/ngx_http_fastcgi_module.c b/src/http/modules/ngx_http_fastcgi_module.c index fb2578bf3..df8054466 100644 --- a/src/http/modules/ngx_http_fastcgi_module.c +++ b/src/http/modules/ngx_http_fastcgi_module.c @@ -551,7 +551,7 @@ ngx_http_fastcgi_create_request(ngx_http_request_t *r) if (len > 65535) { ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, - "fastcgi: the request record is too big"); + "fastcgi request record is too big: %uz", len); return NGX_ERROR; } diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index 96963a0ab..e5ed14935 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -1151,6 +1151,10 @@ ngx_http_alloc_large_header_buffer(ngx_http_request_t *r, r->args_start = new + (r->args_start - old); } + if (r->http_protocol.data) { + r->http_protocol.data = new + (r->http_protocol.data - old); + } + } else { r->header_name_start = new; r->header_name_end = new + (r->header_name_end - old);