MINOR: stktable: "stick" requires TCP or HTTP mode

Prevent the use of "stick-table" and "stick *" when proxy is neither in
tcp or http mode.
This commit is contained in:
Aurelien DARRAGON 2023-09-19 17:20:24 +02:00 committed by Christopher Faulet
parent 09b15e4163
commit 098ae743fd

View File

@ -1527,6 +1527,13 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
goto out; goto out;
} }
if (curproxy->mode != PR_MODE_TCP && curproxy->mode != PR_MODE_HTTP) {
ha_alert("parsing [%s:%d] : 'stick-table' requires TCP or HTTP mode.\n",
file, linenum);
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
other = stktable_find_by_name(curproxy->id); other = stktable_find_by_name(curproxy->id);
if (other) { if (other) {
ha_alert("parsing [%s:%d] : stick-table name '%s' conflicts with table declared in %s '%s' at %s:%d.\n", ha_alert("parsing [%s:%d] : stick-table name '%s' conflicts with table declared in %s '%s' at %s:%d.\n",
@ -1579,6 +1586,13 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
goto out; goto out;
} }
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 (warnifnotcap(curproxy, PR_CAP_BE, file, linenum, args[0], NULL)) { if (warnifnotcap(curproxy, PR_CAP_BE, file, linenum, args[0], NULL)) {
err_code |= ERR_WARN; err_code |= ERR_WARN;
goto out; goto out;