]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: stream: Keep FLT_END analyzers if a stream detects a channel error
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 18 Oct 2021 13:06:20 +0000 (15:06 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 19 Oct 2021 09:29:30 +0000 (11:29 +0200)
commit813f913444726eafbc06050ce1d1623f5d84bc38
tree5474a1c15ab635550e1b524597ddf3af8f249799
parent8abed17a347f50d5bdb437e90530cb3be4020c7d
BUG/MEDIUM: stream: Keep FLT_END analyzers if a stream detects a channel error

If a channel error (READ_ERRO|READ_TIMEOUT|WRITE_ERROR|WRITE_TIMEOUT) is
detected by the stream, in process_stream(), FLT_END analyers must be
preserved. It is important to be sure to ends filter analysis and be able to
release the stream.

First, filters may release some ressources when FLT_END analyzers are
called. Then, the CF_FL_ANALYZE flag is used to sync end of analysis for the
request and the response. If FLT_END analyzer is ignored on a channel, this
may block the other side and freeze the stream.

This patch must be backported to all stable versions
src/stream.c