BUG/MINOR: http-ana: Fix wrong client abort reports during responses forwarding
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 24 Oct 2024 09:58:46 +0000 (11:58 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 24 Oct 2024 10:17:19 +0000 (12:17 +0200)
When the response forwarding is aborted, we must not report a client abort
if a EOS was seen on client side. On abort performed by the stream must be
considered.

This bug was introduced when the SHUTR was splitted in 2 flags.

This patch must be backported as far as 2.8.

(cherry picked from commit 5970c6abec3e0ee4ac44364e999cae2cc852f4c8)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>

src/http_ana.c

index 0706192..6af8fdb 100644 (file)
@@ -2151,7 +2151,7 @@ int http_response_forward_body(struct stream *s, struct channel *res, int an_bit
         * server abort.
         */
        if (msg->msg_state < HTTP_MSG_ENDING && (s->scb->flags & (SC_FL_EOS|SC_FL_ABRT_DONE))) {
-               if ((s->scf->flags & (SC_FL_EOS|SC_FL_ABRT_DONE)) &&
+               if ((s->scf->flags & SC_FL_ABRT_DONE) &&
                    (s->scb->flags & SC_FL_SHUT_DONE))
                        goto return_cli_abort;
                /* If we have some pending data, we continue the processing */