]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: checks/log: force implicit UDP checks as TCP for log backend
authorAurelien DARRAGON <adarragon@haproxy.com>
Thu, 29 Oct 2026 12:47:11 +0000 (13:47 +0100)
committerAurelien DARRAGON <adarragon@haproxy.com>
Thu, 29 Oct 2026 12:58:25 +0000 (13:58 +0100)
commit1d84ea775a0e761284744fad788505ea6f5c640c
tree9f6623f135bb0039b243a19db9dd656c6dff8b61
parent463527ba1e19c4fafae96fd16d1ff56ce979a698
BUG/MINOR: checks/log: force implicit UDP checks as TCP for log backend

As described in GH #3528, declaring an UDP log server with "check"
keyword, without specifying check port would result in haproxy
starting a check using TCP oriented API while the underlying address
family was implicit datagram. It would either cause the check to
always fail, or even segfault on some systems where the network API
from the operating system doesn't expect DGRAM family with stream oriented
functions such as "connect()".

To fix the issue, although we do support UDP log endpoints, there is no
UDP checks, and we don't offer ICMP checks, so let's just fallback to
TCP protocol when we detect the address family is DGRAM when starting
a check from a log backend.

The documentation was updated to describe this pitfall.

Many thanks to GH user @ssavant2 for filing a bug report and providing
useful reproducer.

It may be backported to 3.0.
doc/configuration.txt
src/check.c