# HG changeset patch # User Igor Sysoev # Date 1197493881 0 # Node ID b4d3c9c1ae2050aaceecf19687fdbb480485d707 # Parent 7b074520602fa405183b678d205378e52635d05b 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 diff --git a/src/http/modules/ngx_http_fastcgi_module.c b/src/http/modules/ngx_http_fastcgi_module.c --- 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 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 --- 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_h 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);