]> git.kaiwu.me - haproxy.git/commit
BUG/MEDIUM: check: Skip tcpcheck post-config for external checks
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 4 Jun 2026 16:43:12 +0000 (18:43 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 4 Jun 2026 16:52:25 +0000 (18:52 +0200)
commit6a7b27a0a4ec72bea959e5950085725332926c7b
tree36a47cde9db43bb08bd68b163854d273a11f0cb1
parent7835e1fcbe9208d811e9d89b49e259dad97b6e96
BUG/MEDIUM: check: Skip tcpcheck post-config for external checks

When an external check was configured on a backend, the tcpcheck post config
for backend's servers was still performed instead to be skipped. The led to
a NULL-deref on the tcpcheck ruleset pointer and so to a segfault.

It seems to be only an issue for the 3.4 and higher. However, for older
versions, the tcpcheck post-config is still performed for external checks
and it is not really clean. This can hide some bugs.

For the 3.4, a workaround consists in configuring the backend to use a
tcp-check before configuring the external check:

  backend be
    option tcp-check
    option external-check
    ...

This patch should fix the issue #3407. It could be good to backport it to
all supported versions.
src/check.c