mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-24 15:21:29 +02:00
When the function htx_add_stline() is used, this offset is automatically set when necessary. But the HTX cache applet adds all header blocks of the responses manually, including the start-line. So its offset must be explicitly set by the applet. When everything goes well, the HTTP analyzer http_wait_for_response() looks for the start-line in the HTX messages, calling http_find_stline(). If necessary, the start-line offet will also be automatically set during this stage. So the bug of the HTX cache applet does not hurt most of the time. But, when an error occurred, HTTP responses analyzers can be bypassed. In such caese, the start-line offset of cached responses remains unset. Some part of the code relies on the start-line offset to process the HTX messages. Among others, when H2 responses are sent to clients, the H2 multiplexer read the start-line without any check, because it _MUST_ always be there. if its offset is not set, a NULL pointer is dereferenced leading to a segfault. The patch must be backported to 1.9.
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 - 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%