BUG/MINOR: http-fetch: Don't block HTTP sample fetch eval in HTTP_MSG_ERROR state

It was inherited from the legacy HTTP mode, but the message parsing is
handled by the underlying mux now. Thus, if a message is in HTTP_MSG_ERROR
state, it is just an analysis error and not a parsing error. So there is no
reason to block the HTTP sample fetch evaluation in this case.

This patch could be backported in all stable versions (For the 2.0, only the
htx part must be updated).

(cherry picked from commit 5aab0a30c5090f54b3e797cb1644b3215d9d6c3c)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 6efffd09cff6da32986eef24711ab7e23204c59c)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
This commit is contained in:
Christopher Faulet 2023-01-13 10:58:20 +01:00
parent 751e1ec219
commit 365cd65b68

View File

@ -226,7 +226,7 @@ struct htx *smp_prefetch_htx(struct sample *smp, struct channel *chn, struct che
if (IS_HTX_STRM(s)) {
htx = htxbuf(&chn->buf);
if (msg->msg_state == HTTP_MSG_ERROR || (htx->flags & HTX_FL_PARSING_ERROR))
if (htx->flags & HTX_FL_PARSING_ERROR)
return NULL;
if (msg->msg_state < HTTP_MSG_BODY) {