mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-23 06:41:32 +02:00
When a buffer area is casted to an htx message, depending on the method used, the underlying buffer may be updated or not. The htxbuf() function does not change the buffer state. We assume the buffer was already prepared to store an htx message. htx_from_buf() on its side, updates the buffer. With the first function, we only need to commit changes to the underlying buffer if the htx message is changed. With last one, we must always commit the changes. The idea is to be sure to keep non-empty HTX messages while an empty message must be lead to an empty buffer after commit. All that said because in h1_process_demux(), the changes is not always committed as expected. When the demux is blocked, we just leave the function. So it is possible to have an empty htx message stored in a buffer that appears non-empty. It is not critical, but the buffer cannot be released in this state. And we should always release an empty buffer. This patch must be backported as far as 2.4.
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%