BUG/MINOR: cache/htx: Be sure to count partial trailers

When a chunked object is served from the cache, If the trailers are not pushed
in the channel's buffer in one time, we still have to count them in the total
written bytes in the buffer.

This patch must be backported to 1.9.
This commit is contained in:
Christopher Faulet 2019-01-04 16:15:34 +01:00
parent 68b1bbd767
commit 74b41ba025

View File

@ -1027,12 +1027,12 @@ static void htx_cache_io_handler(struct appctx *appctx)
unsigned int len = first->len - sizeof(*cache_ptr) - appctx->ctx.cache.sent;
ret = htx_cache_dump_data(appctx, res_htx, HTX_BLK_TLR, len);
total += ret;
if (ret < len) {
si_rx_room_blk(si);
goto out;
}
total += ret;
if (first->len == sizeof(*cache_ptr) + appctx->ctx.cache.sent)
appctx->st0 = HTX_CACHE_EOM;
}