]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: config: deprecate the antique req* and rsp* commands
authorWilly Tarreau <w@1wt.eu>
Wed, 22 May 2019 18:34:35 +0000 (20:34 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 22 May 2019 18:43:45 +0000 (20:43 +0200)
commit96d5195862a0d81571bf1f08c0a816933555e5e5
tree8898f17da5161d83bed948bd17e40482bdbbb8fd
parentd1f56c9a0110805c4a5f3afba2990556cb74ec8b
MEDIUM: config: deprecate the antique req* and rsp* commands

These commands don't follow the same flow as the rest of the commands,
each of them iterates over all header lines before switching to the
next directive. In addition they make no distinction between start
line and headers and can lead to unparsable rewrites which are very
difficult to deal with internally.

Most of them are still occasionally found in configurations, mainly
because of the usual "we've always done this way". By marking them
deprecated and emitting a warning and recommendation on first use of
each of them, we will raise users' awareness of users regarding the
cleaner, faster and more reliable alternatives.

Some use cases of "reqrep" still appear from time to time for URL
rewriting that is not so convenient with other rules. But at least
users facing this requirement will explain their use case so that we
can best serve them. Some discussion started on this subject in a
thread linked to from github issue #100.

The goal is to remove them in 2.1 since they require to reparse the
result before indexing it and we don't want this hack to live long.
The following directives were marked deprecated :

  -reqadd
  -reqallow
  -reqdel
  -reqdeny
  -reqiallow
  -reqidel
  -reqideny
  -reqipass
  -reqirep
  -reqitarpit
  -reqpass
  -reqrep
  -reqtarpit
  -rspadd
  -rspdel
  -rspdeny
  -rspidel
  -rspideny
  -rspirep
  -rsprep
doc/configuration.txt
include/types/global.h
src/cfgparse-listen.c