The previous patch tried to fix access to QCS <sd> member, as the latter is not always allocated anymore on the frontend side. a15f0461a016a664427f5aaad2227adcc622c882 BUG/MEDIUM: h3: do not access QCS <sd> if not allocated In particular, access was prevented after HEADERS parsing in case h3_req_headers_to_htx() returned an error, which indicates that the stream-endpoint allocation was not performed. However, this still is not enough when QCS instance is already closed at this step. Indeed, in this case, h3_req_headers_to_htx() returns OK but stream-endpoint allocation is skipped as an optimization as no data exchange will be performed. To definitely fix this kind of problems, add checks on qcs <sd> member before accessing it in H3 layer. This method is the safest one to ensure there is no NULL dereferencement. This should fix github issue #3211. This must be backported along the above mentionned patch.
HAProxy
HAProxy is a free, very fast and reliable reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
Installation
The INSTALL file describes how to build HAProxy. A list of packages is also available on the wiki.
Getting help
The discourse and the mailing-list are available for questions or configuration assistance. You can also use the slack or IRC channel. Please don't use the issue tracker for these.
The issue tracker is only for bug reports or feature requests.
Documentation
The HAProxy documentation has been split into a number of different files for ease of use. It is available in text format as well as HTML. The wiki is also meant to replace the old architecture guide.
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)
License
HAProxy is licensed under GPL 2 or any later version, the headers under LGPL 2.1. See the LICENSE file for a more detailed explanation.
