]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: server: check for either proxy-protocol v1 or v2 to send hedaer
authorWilly Tarreau <w@1wt.eu>
Mon, 3 Mar 2025 02:58:46 +0000 (03:58 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 3 Mar 2025 03:05:47 +0000 (04:05 +0100)
commit730641f7cad32bfff97875716efe4bd784bb006b
treeda9266087234d89c843377a849c9990ad95acdd0
parentd0f97040a33c31f7d4b839ced4f5aa598f76bcdd
BUG/MINOR: server: check for either proxy-protocol v1 or v2 to send hedaer

As reported in issue #2882, using "no-send-proxy-v2" on a server line does
not properly disable the use of proxy-protocol if it was enabled in a
default-server directive in combination with other PP options. The reason
for this is that the sending of a proxy header is determined by a test on
srv->pp_opts without any distinction, so disabling PPv2 while leaving other
options results in a PPv1 header to be sent.

Let's fix this by explicitly testing for the presence of either send-proxy
or send-proxy-v2 when deciding to send a proxy header.

This can be backported to all versions. Thanks to Andre Sencioles (@asenci)
for reporting the issue and testing the fix.
include/haproxy/server-t.h
src/backend.c
src/proto_rhttp.c