]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-h1: Explicitly skip request's C-L header if not set originally
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 12 Dec 2023 12:56:05 +0000 (13:56 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 13 Dec 2023 15:45:29 +0000 (16:45 +0100)
commit966a18e2b485901bd986ebe65670dc4bfbfe65b5
tree2adb3916cd909d2d02790f1c25d82742efdfad83
parenteed1e8733c279cda0b6a2db574ead4e0238177f6
BUG/MEDIUM: mux-h1: Explicitly skip request's C-L header if not set originally

Commit f89ba27caa ("BUG/MEDIUM: mux-h1; Ignore headers modifications about
payload representation") introduced a regression. The Content-Length is no
longer sent to the server for requests without payload but with a
'Content-Lnegth' header explicitly set to 0, like POST request with no
payload. It is of course unexpected. In some cases, depending on the server,
such requests are considered as invalid and a 411-Length-Required is returned.

The above commit is not directly responsible for the bug, it only reveals a too
lax condition to skip the 'Content-Length' header of bodyless requests. We must
only skip this header if none was originally found, during the parsing.

This patch should fix the issue #2386. It must be backported to 2.9.
src/mux_h1.c