mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 05:41:26 +02:00
In practice it's exactly the same for h3 as 54f53ef7c ("BUG/MAJOR: h2: reject header values containing invalid chars") was for h2: we must make sure never to accept NUL/CR/LF in any header value because this may be used to construct splitted headers on the backend. Hence we apply the same solution. Here pseudo-headers, headers and trailers are checked separately, which explains why we have 3 locations instead of 2 for h2 (+1 for response which we don't have here). This is marked major for consistency and due to the impact if abused, but the reality is that at the time of writing, this problem is limited by the scarcity of the tools which would permit to build such a request in the first place. But this may change over time. This must be backported to 2.6. This depends on the following commit that exposes the filtering function: REORG: http: move has_forbidden_char() from h2.c to http.h
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%