aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2013-03-11 11:19:58 +0000
committerValentin Bartenev <vbart@nginx.com>2013-03-11 11:19:58 +0000
commitb8cba361f7547310d574d82aecce5fe52ff43279 (patch)
tree87454d11e6eabf46191cf52554c3e62c8e99b859 /src
parent8fbef4841fe21ef2760c2313152180c56c6edd05 (diff)
downloadnginx-b8cba361f7547310d574d82aecce5fe52ff43279.tar.gz
nginx-b8cba361f7547310d574d82aecce5fe52ff43279.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/http/modules/ngx_http_gzip_filter_module.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/modules/ngx_http_gzip_filter_module.c b/src/http/modules/ngx_http_gzip_filter_module.c
index 2f39543af..35dd07ec4 100644
--- a/src/http/modules/ngx_http_gzip_filter_module.c
+++ b/src/http/modules/ngx_http_gzip_filter_module.c
@@ -620,6 +620,8 @@ ngx_http_gzip_filter_deflate_start(ngx_http_request_t *r,
return NGX_ERROR;
}
+ r->connection->buffered |= NGX_HTTP_GZIP_BUFFERED;
+
ctx->last_out = &ctx->out;
ctx->crc32 = crc32(0L, Z_NULL, 0);
ctx->flush = Z_NO_FLUSH;