Mercurial > hg > nginx-quic
comparison src/http/modules/ngx_http_gzip_filter_module.c @ 5107:4b744a2fb1a6
Gzip: fixed setting of NGX_HTTP_GZIP_BUFFERED.
In r2411 setting of NGX_HTTP_GZIP_BUFFERED in c->buffered was moved from
ngx_http_gzip_filter_deflate_start() to ngx_http_gzip_filter_buffer() since
it was always called first. But in r2543 the "postpone_gzipping" directive
was introduced, and if postponed gzipping is disabled (the default setting),
ngx_http_gzip_filter_buffer() is not called at all.
We must always set NGX_HTTP_GZIP_BUFFERED after the start of compression
since there is always a trailer that is buffered.
There are no known cases when it leads to any problem with current code.
But we already had troubles in upcoming SPDY implementation.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Mon, 11 Mar 2013 11:19:58 +0000 |
parents | e2794322ec76 |
children | 84155a389bcc |
comparison
equal
deleted
inserted
replaced
5106:afee87b8190a | 5107:4b744a2fb1a6 |
---|---|
618 ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, | 618 ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, |
619 "deflateInit2() failed: %d", rc); | 619 "deflateInit2() failed: %d", rc); |
620 return NGX_ERROR; | 620 return NGX_ERROR; |
621 } | 621 } |
622 | 622 |
623 r->connection->buffered |= NGX_HTTP_GZIP_BUFFERED; | |
624 | |
623 ctx->last_out = &ctx->out; | 625 ctx->last_out = &ctx->out; |
624 ctx->crc32 = crc32(0L, Z_NULL, 0); | 626 ctx->crc32 = crc32(0L, Z_NULL, 0); |
625 ctx->flush = Z_NO_FLUSH; | 627 ctx->flush = Z_NO_FLUSH; |
626 | 628 |
627 return NGX_OK; | 629 return NGX_OK; |