# HG changeset patch # User Maxim Dounin # Date 1330949702 0 # Node ID e66122a62bde0f44a0258e7b51ef17019fce203c # Parent 14f8e8a0cc77f232e63ece5ce28eff4ba24543ae Merge of r4461: upstream: fixed "too big header" check. If header filter postponed processing of a header by returning NGX_AGAIN and not moved u->buffer->pos, previous check incorrectly assumed there is additional space and did another recv() with zero-size buffer. This resulted in "upstream prematurely closed connection" error instead of correct "upstream sent too big header" one. Patch by Feibo Li. diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -1561,7 +1561,7 @@ ngx_http_upstream_process_header(ngx_htt if (rc == NGX_AGAIN) { - if (u->buffer.pos == u->buffer.end) { + if (u->buffer.last == u->buffer.end) { ngx_log_error(NGX_LOG_ERR, c->log, 0, "upstream sent too big header");