From: Christopher Faulet Date: Wed, 13 Jan 2021 12:14:13 +0000 (+0100) Subject: MINOR: server: Forbid server definitions in frontend sections X-Git-Tag: v2.4-dev6~60 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e3bdc81f8aeb02b5c92b5d10fc9352daaea1cf20;p=thirdparty%2Fhaproxy.git 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"). --- diff --git a/src/server.c b/src/server.c index 1c4ad7aaf2..95082099b0 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) {