From: Christopher Faulet Date: Thu, 22 Apr 2021 07:43:47 +0000 (+0200) Subject: BUG/MINOR: htx: Preserve HTX flags when draining data from an HTX message X-Git-Tag: v2.4-dev18~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5e9b24f4b4e31958d97ce445bb993feb7ebc1421;p=thirdparty%2Fhaproxy.git BUG/MINOR: htx: Preserve HTX flags when draining data from an HTX message When all data of an HTX message are drained, we rely on htx_reset() to reinit the message state. However, the flags must be preserved. It is, among other things, important to preserve processing or parsing errors. This patch must be backported as far as 2.0. --- diff --git a/src/htx.c b/src/htx.c index b0a0c6e3ad..9bf40506d2 100644 --- a/src/htx.c +++ b/src/htx.c @@ -448,7 +448,10 @@ struct htx_ret htx_drain(struct htx *htx, uint32_t count) struct htx_ret htxret = { .blk = NULL, .ret = 0 }; if (count == htx->data) { + uint32_t flags = htx->flags; + htx_reset(htx); + htx->flags = flags; /* restore flags */ htxret.ret = count; return htxret; }