From f03e999912cd325ffae0997f53cd5e139555099d Mon Sep 17 00:00:00 2001 From: Aurelien DARRAGON Date: Wed, 7 May 2025 23:50:46 +0200 Subject: [PATCH] MINOR: server: ensure server postparse tasks are run for dynamic servers commit 29b76cae4 ("BUG/MEDIUM: server/log: "mode log" after server keyword causes crash") introduced some postparsing checks/tasks for server Initially they were mainly meant for "mode log" servers postparsing, but we already have a check dedicated to "tcp/http" servers (ie: only tcp proto supported) However when dynamic servers are added they bypass _srv_postparse() since the REGISTER_POST_SERVER_CHECK() is only executed for servers defined in the configuration. To ensure consistency between dynamic and static servers, and ensure no post-check init routine is missed, let's manually invoke _srv_postparse() after creating a dynamic server added via the cli. --- src/server.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/server.c b/src/server.c index 06c4e9979..6b984029a 100644 --- a/src/server.c +++ b/src/server.c @@ -5883,6 +5883,10 @@ static int cli_parse_add_server(char **args, char *payload, struct appctx *appct if (errcode) goto out; + errcode = _srv_postparse(srv); + if (errcode) + goto out; + /* A dynamic server does not currently support resolution. * * Initialize it explicitly to the "none" method to ensure no