BUG/MINOR: check: Don't perform any check on servers defined in a frontend
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 12 Jan 2021 16:29:45 +0000 (17:29 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 12 Jan 2021 16:55:22 +0000 (17:55 +0100)
commit6ecd59326f7416dcba215f05a6674d4b9f970749
treeef751773430a2cf60491a70ff28aa60c82ad8c8a
parent22e0d9b39cfb238e7bf866b3d78aa9b393004508
BUG/MINOR: check: Don't perform any check on servers defined in a frontend

If a server is defined in a frontend, thus a proxy without the backend
capability, the 'check' and 'agent-check' keywords are ignored. This way, no
check is performed on an ignored server. This avoids a segfault because some
part of the tcpchecks are not fully initialized (or released for frontends
during the post-check).

In addition, an test on the server's proxy capabilities is performed when
checks or agent-checks are initialized and nothing is performed for servers
attached to a non-backend proxy.

This patch should fix the issue #1043. It must be backported as far as 2.2.
src/check.c