mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-12-25 03:21:00 +01:00
An issue was introduced when zero-copy forwarding was added to the stats and cache applets. There is no test to be sure the upper layer is ready to use the zero-copy forwarding. So these applets refuse to deliver the response into the applet's output buffer if the zero-copy forwarding is supported by the opposite endpoint. It is especially an issue when a filter, like the compression, is in-use on the response channel. Because of this bug, the response is not delivered and the applet is woken up in loop to produce data. To fix the issue, an appctx flag was added, APPCTX_FL_FASTFWD, to know when the zero-copy forwarding is in-use. We rely on this flag to not fill the outbuf in the applet's I/O handler. No backport needed.