haproxy public development tree
Go to file
Willy Tarreau 3439583dd6 MEDIUM: mux-h2: slightly relax timeout management rules
The H2 timeout rules were arranged to cover complex situations In 2.1
with commit c2ea47fb1 ("BUG/MEDIUM: mux-h2: do not enforce timeout on
long connections").

It turns out that such rules while complex, do not perfectly cover all
use cases. The real intent is to say that as long as there are attached
streams, the connection must not timeout. Then once all these streams
have quit (possibly for timeout reasons) then the mux should take over
the management of timeouts.

We do have this nb_cs field which indicates the number of attached
streams, and it's updated even when leaving orphaned streams. So
checking it alone is sufficient to know whether it's the mux or the
streams that are in charge of the timeouts.

In its current state, this doesn't cause visible effects except that
it makes it impossible to implement more subtle parsing timeouts.

This would need to be backported as far as 2.0 along with the next
commit that will depend on it.
2022-03-18 17:43:34 +01:00
.github CI: github actions: switch to LibreSSL-3.5.1 2022-03-18 13:48:42 +01:00
addons BUG/MINOR: promex: Set conn-stream/channel EOI flags at the end of request 2022-03-08 18:24:16 +01:00
admin OPTIM: halog: skip fields 64 bits at a time when supported 2021-11-08 12:08:26 +01:00
dev DEV: udp: add support for random packet corruption 2022-03-16 15:09:54 +01:00
doc [RELEASE] Released version 2.6-dev3 2022-03-11 18:09:24 +01:00
examples MEDIUM: proxy: remove long-broken 'option http_proxy' 2021-07-18 19:35:32 +02:00
include MINOR: actions: add new function free_act_rule() to free a single rule 2022-03-17 20:26:19 +01:00
reg-tests REGTESTS: fix the race conditions in be2hex.vtc 2022-03-14 15:38:32 +01:00
scripts CI: refactor OpenTracing build script 2022-01-19 07:37:40 +01:00
src MEDIUM: mux-h2: slightly relax timeout management rules 2022-03-18 17:43:34 +01:00
tests CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
.cirrus.yml CI: introduce scripts/build-vtest.sh for installing VTest 2021-05-18 10:48:30 +02:00
.gitattributes MINOR: Configure the cpp userdiff driver for *.[ch] in .gitattributes 2021-02-22 18:17:57 +01:00
.gitignore DOC: lua-api: Add documentation about lua filters 2021-08-15 20:56:44 +02:00
.mailmap DOC: update Tim's address in .mailmap 2021-09-16 09:14:14 +02:00
.travis.yml CI: travis-ci: temporarily disable arm64 builds 2021-08-07 07:28:15 +02:00
BRANCHES
CHANGELOG [RELEASE] Released version 2.6-dev3 2022-03-11 18:09:24 +01:00
CONTRIBUTING CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
INSTALL DOC: install: describe how to choose options used in the DEBUG variable 2022-03-01 08:31:50 +01:00
LICENSE
MAINTAINERS CONTRIB: move spoa_example out of the tree 2021-04-21 09:39:06 +02:00
Makefile BUILD: fix kFreeBSD build. 2022-03-04 17:19:12 +01:00
README
ROADMAP
SUBVERS
VERDATE [RELEASE] Released version 2.6-dev3 2022-03-11 18:09:24 +01:00
VERSION [RELEASE] Released version 2.6-dev3 2022-03-11 18:09:24 +01:00

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)