diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c index e5945d8e2..60f20ecd2 100644 --- a/src/cfgparse-listen.c +++ b/src/cfgparse-listen.c @@ -318,6 +318,19 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm) curproxy->id, curproxy->conf.file, curproxy->conf.line); err_code |= ERR_WARN; } + else if (rc & PR_CAP_DEF) { + /* only defaults need to be checked here, other proxies + * have already been above. + */ + curproxy = log_forward_by_name(args[1]); + if (curproxy) { + ha_warning("Parsing [%s:%d]: %s '%s' has the same name as log-forward section '%s' declared at %s:%d." + " This is dangerous and will not be supported anymore in version 3.3.\n", + file, linenum, proxy_cap_str(rc), args[1], + curproxy->id, curproxy->conf.file, curproxy->conf.line); + err_code |= ERR_WARN; + } + } if (rc & PR_CAP_DEF && strcmp(args[1], "from") == 0 && *args[2] && !*args[3]) { // also support "defaults from blah" (no name then) diff --git a/src/log.c b/src/log.c index 993fe08e8..8b6e9b61f 100644 --- a/src/log.c +++ b/src/log.c @@ -5867,6 +5867,16 @@ int cfg_parse_log_forward(const char *file, int linenum, char **args, int kwm) goto out; } + px = proxy_find_by_name(args[1], PR_CAP_DEF, 0); + if (px) { + /* collision with a "defaults" section */ + ha_warning("Parsing [%s:%d]: log-forward section '%s' has the same name as %s '%s' declared at %s:%d." + " This is dangerous and will not be supported anymore in version 3.3.\n", + file, linenum, args[1], proxy_type_str(px), + px->id, px->conf.file, px->conf.line); + err_code |= ERR_WARN; + } + px = calloc(1, sizeof *px); if (!px) { err_code |= ERR_ALERT | ERR_FATAL;