mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-25 15:51:24 +02:00
Since the 2.4.4, the splicing support in the H1 multiplexer is buggy because end of the message is not properly detected. On the 2.4, when the requests is spliced, there is no issue. But when the response is spliced, the client connection is always closed at the end of the message. Note the response is still fully sent. On the 2.5 and higher, when the last requests on a connection is spliced, a client abort is reported. For other requests there is no issue. In all cases, the requests are fully sent. When the response is spliced, the server connection hangs till the server timeout and a server abort is reported. The response is fully sent with no delay. The root cause is the EOM block suppression. There is no longer extra block to be sure to call a last time rcv_buf()/snd_buf() callback functions. At the end, to fix the issue, we must now detect end of the message in rcv_pipe() and snd_pipe() callback functions. To do so, we rely on the announced message length to know when the payload is finished. This works because the chunk-encoded messages are not spliced. This patch must be backported as far as 2.4 after an observation period.
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)
Description
Languages
C
98.1%
Shell
0.8%
Makefile
0.5%
Lua
0.2%
Python
0.2%