From e3bdc81f8aeb02b5c92b5d10fc9352daaea1cf20 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Wed, 13 Jan 2021 13:14:13 +0100 Subject: [PATCH] MINOR: server: Forbid server definitions in frontend sections An fatal error is now reported if a server is defined in a frontend section. til now, a warning was just emitted and the server was ignored. The warning was added in the 1.3.4 when the frontend/backend keywords were introduced to allow a smooth transition and to not break existing configs. It is old enough now to emit an fatal error in this case. This patch is related to the issue #1043. It may be backported at least as far as 2.2, and possibly to older versions. It relies on the previous commit ("MINOR: config: Add failifnotcap() to emit an alert on proxy capabilities"). --- src/server.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/server.c b/src/server.c index 1c4ad7aaf..95082099b 100644 --- a/src/server.c +++ b/src/server.c @@ -1961,8 +1961,10 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr err_code |= ERR_ALERT | ERR_FATAL; goto out; } - else if (warnifnotcap(curproxy, PR_CAP_BE, file, linenum, args[0], NULL)) - err_code |= ERR_WARN; + else if (failifnotcap(curproxy, PR_CAP_BE, file, linenum, args[0], NULL)) { + err_code |= ERR_ALERT | ERR_FATAL; + goto out; + } /* There is no mandatory first arguments for default server. */ if (srv && parse_addr) {