]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: http-ana: Don't switch message to DATA when waiting for payload
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 5 Apr 2023 08:42:03 +0000 (10:42 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 5 Apr 2023 08:53:20 +0000 (10:53 +0200)
commit2954bcc1e85479e777f55e80877110516e034fd2
treea3720b22faeaa72c7cb114ab3c5347ea4c70b9e6
parentffcffa8e93bcbf376f13b1f6e568ab093ea068bf
BUG/MINOR: http-ana: Don't switch message to DATA when waiting for payload

The HTTP message must remains in BODY state during the analysis, to be able
to report accurate termination state in logs. It is also important to know
the HTTP analysis is still in progress. Thus, when we are waiting for the
message payload, the message is no longer switch to DATA state. This was
used to not process "Expect: " header at each evaluation. But thanks to the
previous patch, it is no long necessary.

This patch also fixes a bug in the lua filter api. Some functions must be
called during the message analysis and not during the payload forwarding. It
is not valid to try to manipulate headers during the forward stage because
headers are already forwarded. We rely on the message state to detect
errors. So the api was unusable if a "wait-for-body" action was used.

This patch shoud fix the issue #2093. It relies on the commit:

  * MINOR: http-ana: Add a HTTP_MSGF flag to state the Expect header was checked

Both must be backported as far as 2.5.
src/http_ana.c