BUG/MINOR: http-fetch: Don't block HTTP sample fetch eval in HTTP_MSG_ERROR state
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 13 Jan 2023 09:58:20 +0000 (10:58 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 13 Jan 2023 09:58:21 +0000 (10:58 +0100)
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).

src/http_fetch.c

index 4564f9c..27cfe54 100644 (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) {