BUG/MINOR: config: silence .notice/.warning/.alert in discovery mode
authorWilly Tarreau <w@1wt.eu>
Tue, 1 Apr 2025 07:06:25 +0000 (09:06 +0200)
committerAurelien DARRAGON <adarragon@haproxy.com>
Tue, 15 Apr 2025 16:08:26 +0000 (18:08 +0200)
When first pre-parsing the config to detect the presence or absence of
the master mode, we must not emit messages because they are not supposed
to be visible at this point, otherwise they appear twice each. The
pre-parsing, also called discovery mode, is only for internal use,
thus it should remain silent.

This should be backported to 3.1 where this mode was introduced.

(cherry picked from commit 2c779f3938d49fbb0955e972b4f494cdadbef8c1)
Signed-off-by: Aurelien DARRAGON <adarragon@haproxy.com>

src/cfgparse.c

index e1935ac..9aa8981 100644 (file)
@@ -2500,7 +2500,7 @@ next_line:
                }
 
                /* .warning/.error/.notice/.diag */
-               if (*args[0] == '.') {
+               if (*args[0] == '.' && !(global.mode & MODE_DISCOVERY)) {
                        if (strcmp(args[0], ".alert") == 0) {
                                if (*args[2]) {
                                        ha_alert("parsing [%s:%d]: Unexpected argument '%s' for '%s'. Use quotes if the message should contain spaces.\n",