mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-18 19:50:54 +00:00
haproxy public development tree
d16e7dd0e4
When an HTTP response is parsed, early parsing errors are not properly handled. When this error is reported by the multiplexer, nothing is copied into the input buffer. The HTX message remains empty but the HTX_FL_PARSING_ERROR flag is set. In addition CS_FL_EOI is set on the conn-stream. This last flag must be handled to prevent subscription for receive events. Otherwise, in the best case, a L7 timeout error is reported. But a transient loop is also possible if a shutdown is received because the multiplexer notifies the check of the event while the check never handles it and waits for more data. Now, if CS_FL_EOI flag is set on the conn-stream, expect rules are evaluated. Any error must be handled there. Thanks to @kazeburo for his valuable report. This patch should fix the issue #1420. It must be backported at least to 2.4. On 2.3 and 2.2, there is no loop but the wrong error is reported (empty response instead of invalid one). Thus it may also be backported as far as 2.2. |
||
---|---|---|
.github | ||
addons | ||
admin | ||
dev | ||
doc | ||
examples | ||
include | ||
reg-tests | ||
scripts | ||
src | ||
tests | ||
.cirrus.yml | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
BRANCHES | ||
CHANGELOG | ||
CONTRIBUTING | ||
INSTALL | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
README | ||
ROADMAP | ||
SUBVERS | ||
VERDATE | ||
VERSION |
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)