diff options
author | Igor Sysoev <igor@sysoev.ru> | 2007-12-12 21:11:21 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2007-12-12 21:11:21 +0000 |
commit | 0687ed071b02967d8b0079cb54c8c041a616ebab (patch) | |
tree | 70a5f55678c452cbc384e55c8c978ea5970b665f | |
parent | 3b8cfd03a809939adab5a2daa2efd3d322a575db (diff) | |
download | nginx-0687ed071b02967d8b0079cb54c8c041a616ebab.tar.gz |
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
-rw-r--r-- | src/http/modules/ngx_http_fastcgi_module.c | 2 | ||||
-rw-r--r-- | src/http/ngx_http_request.c | 4 |
2 files changed, 5 insertions, 1 deletions
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); |