mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-16 22:31:42 +01:00
Andrew Suffield reported in issue #1596 that we've had a bug in session_accept_fd() since 2.4 with commit 1b3c931bf ("MEDIUM: connections: Introduce a new XPRT method, start().") where an error label is wrong and may cause the leak of the freshly allocated session in case conn_xprt_start() returns < 0. The code was checked there and the only two transport layers available at this point are raw_sock and ssl_sock. The former doesn't provide a ->start() method hence conn_xprt_start() will always return zero. The second does provide such a function, but it may only return <0 if the underlying transport (raw_sock) has such a method and fails, which is thus not the case. So fortunately it is not possible to trigger this leak. The patch above also touched the accept code in quic_sock() which was mostly a plain copy of the session code, but there the move didn't have this impact, and since then it was simplified and the next change moved it to its final destination with the proper error label. This should be backported as far as 2.4 as a long-term safety measure (e.g. if in the future we have a reason for making conn_xprt_start() to start failing), but will not have any positive nor negative effect in the short term.
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%
Shell
0.9%
Makefile
0.5%
Lua
0.2%
Python
0.2%