From: Aurelien DARRAGON Date: Thu, 7 Dec 2023 08:58:27 +0000 (+0100) Subject: BUG/MINOR: ext-check: cannot use without preserve-env X-Git-Tag: v3.0-dev1~109 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=63282f3bfbaee50a0716823bdc8c4251a47e6e39;p=thirdparty%2Fhaproxy.git BUG/MINOR: ext-check: cannot use without preserve-env Since 1de44da ("MINOR: ext-check: add an option to preserve environment variables"), it is now possible to provide an extra argument to "external-check" directive. This allows to support the "preserve-env" option which differs from the default behavior. However a mistake was made, because the config parser doesn't allow the default configuration anymore: using external-check without argument will trigger an error: 'external-check' only supports 'preserve-env' as an argument, found ''. This is due to as small mistake in the code that make the check systematically report an error if the first argument is not equal to "preserve-env". The check was modified so that the error is only reported if the argument is provided, so that the default behavior is restored. This should fix GH #2380 and should be backported on 2.9 and potentially further (anywhere 1de44da is, because a note about an optional backport up to the 2.6 was left in the original commit message) --- diff --git a/src/cfgparse-global.c b/src/cfgparse-global.c index 540dda79b0..f31e7a05a7 100644 --- a/src/cfgparse-global.c +++ b/src/cfgparse-global.c @@ -591,7 +591,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm) global.external_check = 1; if (strcmp(args[1], "preserve-env") == 0) { global.external_check = 2; - } else { + } else if (*args[1]) { ha_alert("parsing [%s:%d] : '%s' only supports 'preserve-env' as an argument, found '%s'.\n", file, linenum, args[0], args[1]); err_code |= ERR_ALERT | ERR_FATAL; goto out;