1
0
mirror of http://git.haproxy.org/git/haproxy.git/ synced 2025-03-02 09:30:36 +00:00
haproxy public development tree
Go to file
Christopher Faulet 5220ef25e3 BUG/MINOR: mux-h1: Only skip invalid C-L headers on output
When an HTTP request with an empty body is received, the flag HTX_SL_F_BODYLESS
is set on the HTX start-line block. It is true if the header content-length is
explicitly set to 0 or if it is omitted for a non chunked request.

On the server side, when the request is reformatted, because HTX_SL_F_BODYLESS
is set, the flag H1_MF_CLEN is added on the request parser. It is done to not
add an header transfer-encoding on bodyless requests. But if an header
content-length is explicitly set to 0, when it is parsed, because H1_MF_CLEN is
set, the function h1_parse_cont_len_header() returns 0, meaning the header can
be dropped. So in such case, a request without any header content-length is sent
to the server.

Some servers seems to reject empty POST requests with an error 411 when there is
no header content-length. So to fix this issue, on the output side, only headers
with an invalid content length are skipped, ie only when the function
h1_parse_cont_len_header() returns a negative value.

This patch must be backported to 1.9.
2019-03-28 10:00:36 +01:00
.github/ISSUE_TEMPLATE
contrib BUG/MINOR: contrib/prometheus-exporter: Fix applet accordingly to recent changes 2019-03-27 16:08:32 +01:00
doc DOC: peers: Peers protocol documentation update. 2019-03-26 16:47:28 +01:00
ebtree
examples [RELEASE] Released version 2.0-dev2 2019-03-26 05:40:51 +01:00
include
reg-tests REGTEST: remove unexpected "nbthread" statement from Lua test cases 2019-03-27 14:15:33 +01:00
scripts REGTEST: script: remove platform-specific assigments of OPTIONS 2019-03-27 14:47:55 +01:00
src BUG/MINOR: mux-h1: Only skip invalid C-L headers on output 2019-03-28 10:00:36 +01:00
tests
.gitignore
CHANGELOG [RELEASE] Released version 2.0-dev2 2019-03-26 05:40:51 +01:00
CONTRIBUTING
INSTALL BUILD: Makefile: remove outdated support for dlmalloc 2019-03-27 14:30:15 +01:00
LICENSE
MAINTAINERS
Makefile BUILD: pass all "USE_*" variables as -DUSE_* to the compiler 2019-03-27 14:47:55 +01:00
README
ROADMAP
SUBVERS
VERDATE [RELEASE] Released version 2.0-dev2 2019-03-26 05:40:51 +01:00
VERSION [RELEASE] Released version 2.0-dev2 2019-03-26 05:40:51 +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
  - 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)