mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
We must evaluate if EOS/EOI/ERR_PENDING/ERROR flags must be set on the SE when the frontend SC is created because the rxbuf is transferred to the steeam at this stage. It means the call to h2_rcv_buf() may be skipped on some circumstances. And indeed, it happens when HAproxy quickly replies, for instance because of a deny rule. In this case, depending on the scheduling, the abort may block the receive attempt from the SC. In this case if SE flags were not properly set earlier, there is no way to terminate the request and the session may be freezed. For now, I can't explain why there is no timeout when this happens but it remains an issue because here we should not rely on timeouts to close the stream. This patch relies on following commits: * MINOR: mux-h2: Add a function to propagate termination flags from h2s to SE * MINOR: mux-h2: Set H2_SF_ES_RCVD flag when decoding the HEADERS frame The issue was encountered on the 2.8 but it seems the bug exists since the 2.4. But it is probably a good idea to only backport the series to 2.7 only and wait for a bug report on earlier versions. This patch should solve the issue #2147. |
||
---|---|---|
.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 | ||
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)