BUG/MEDIUM: cli: make sure we can report a warning from a bind keyword
authorWilly Tarreau <w@1wt.eu>
Sat, 20 Nov 2021 19:10:41 +0000 (20:10 +0100)
committerWilly Tarreau <w@1wt.eu>
Sat, 20 Nov 2021 19:15:37 +0000 (20:15 +0100)
commit0a1e1cb55549833700a79a8ffb0e85bbbd110f90
tree937b60f3aef02549815292adca27d7941e14eef6
parent97b5d07a3e5a33552327bac2e4c9c6a0496f7b5e
BUG/MEDIUM: cli: make sure we can report a warning from a bind keyword

Since recent 2.5 commit c8cac04bd ("MEDIUM: listener: deprecate "process"
in favor of "thread" on bind lines"), the "process" bind keyword may
report a warning. However some parts like the "stats socket" parser
will call such bind keywords and do not expect to face warnings, so
this will instantly cause a fatal error to be reported. A concrete
effect is that "stats socket ... process 1" will hard-fail indicating
the keyword is deprecated and will be removed in 2.7.

We must relax this test, but the code isn't designed to report warnings,
it uses a single string and only supports reporting an error code (-1).

This patch makes a special case of the ERR_WARN code and uses ha_warning()
to report it, and keeps the rest of the existing error code for other
non-warning codes. Now "process" on the "stats socket" is properly
reported as a warning.

No backport is needed.
src/cli.c