BUG/MINOR: tcpcheck: Report a L7OK if the last evaluated rule is a send rule

When all rules of a tcpcheck ruleset are successfully evaluated, the right
check status must always be reported. It is true if the last evaluated rule
is an expect or a connect rule. But not if it is a send rule. In this
situation, nothing more is done until the check timeout expiration and a
L7TOUT is reported instead of a L7OK.

Now, by default, when all rules were successfully evaluated, a L7OK is
reported. When the last evaluated rule is an expect or a connect, the
behavior remains unchanged.

This patch should fix the issue #1027. It must be backported as far as 2.2.
This commit is contained in:
Christopher Faulet 2021-01-05 16:56:07 +01:00
parent afb9368221
commit 8d4977ae86

View File

@ -2120,6 +2120,8 @@ int tcpcheck_main(struct check *check)
#endif #endif
set_server_check_status(check, status, msg); set_server_check_status(check, status, msg);
} }
else
set_server_check_status(check, HCHK_STATUS_L7OKD, "(tcp-check)");
} }
else else
set_server_check_status(check, HCHK_STATUS_L7OKD, "(tcp-check)"); set_server_check_status(check, HCHK_STATUS_L7OKD, "(tcp-check)");