]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: tcpcheck/server: Fix parsing of healthcheck param for dynamic servers
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 3 Apr 2026 14:28:08 +0000 (16:28 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 3 Apr 2026 14:31:18 +0000 (16:31 +0200)
The parsing of the "healthcheck" parameter for dynamic servers was not
finished. The post-config was missing, leading to a crash because the
ruleset pointer was NULL.

To fix the issue, check_server_tcpcheck() function is called in
cli_parse_add_server().

No backport needed.

src/server.c

index f0bd91c7faebb41a6f41d51223451fdc7f4632ce..9c9e09c75fb78915ddd62f0fe00aa77b9b81c730 100644 (file)
@@ -6271,6 +6271,11 @@ static int cli_parse_add_server(char **args, char *payload, struct appctx *appct
        /* ensure minconn/maxconn consistency */
        srv_minmax_conn_apply(srv);
 
+       errcode |= check_server_tcpcheck(srv);
+       if (errcode & (ERR_ABORT|ERR_FATAL))
+               goto out;
+
+
        if (srv->use_ssl == 1 || (srv->check.tcpcheck->flags & TCPCHK_FL_USE_SSL) ||
            srv->check.use_ssl == 1) {
                if (xprt_get(XPRT_SSL) && xprt_get(XPRT_SSL)->prepare_srv) {