diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c index f8330a6e0..0bd193970 100644 --- a/src/cfgparse-listen.c +++ b/src/cfgparse-listen.c @@ -676,6 +676,13 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm) if (warnifnotcap(curproxy, PR_CAP_BE, file, linenum, args[0], NULL)) err_code |= ERR_WARN; + if (curproxy->mode != PR_MODE_TCP && curproxy->mode != PR_MODE_HTTP) { + ha_alert("parsing [%s:%d] : '%s' requires TCP or HTTP mode.\n", + file, linenum, args[0]); + err_code |= ERR_ALERT | ERR_FATAL; + goto out; + } + if (*(args[1]) == 0) { ha_alert("parsing [%s:%d] : '%s' expects as argument.\n", file, linenum, args[0]);