mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-23 14:51:27 +02:00
When building an ack-eliciting frame only packet, if we did not manage to add at least one such a frame to the packet, we did not notify the caller about the fact the packet is empty. This could lead the caller to believe everything was ok and make it endlessly try to build packet again and again. This issue was amplified by the recent changes where a while(1) loop has been added to qc_send_app_pkt() which calls qc_do_build_pkt() through qc_prep_app_pkts() until we could not prepare packets. Before this recent change, I guess only one empty packet was sent. This patch checks that non empty packets could be built by qc_do_build_pkt() and makes this function return an error if this was the case. Also note that such an issue could happened only when the packet building was limited by the congestion control. Thank you to Tristan for having reported this issue in GH #1808. Must be backported to 2.6.
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%