From b74debd8264265b19ba81f5c3e6c447b7601f3b0 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 16 Jun 2021 15:06:43 +0200 Subject: [PATCH] BUG/MINOR: mux-h1: do not skip the error response on bad requests Since 2.4-dev3 with commit c4bfa59f1 ("MAJOR: mux-h1: Create the client stream as later as possible"), a request error doesn't result in any error response if "option http-ignore-probes" is set, there's just a close. This is caused by an unneeded b_reset() in h1_process_demux()'s error path, which makes h1_handle_bad_req() believe there was an empty request. There is no reason for this reset to be there, it must have been a leftover of an earlier attempt at dealing with the error, let's drop it. This should be backported to 2.4. --- src/mux_h1.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mux_h1.c b/src/mux_h1.c index c06cec979..537f0f999 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -1711,7 +1711,6 @@ static size_t h1_process_demux(struct h1c *h1c, struct buffer *buf, size_t count return ret; err: - b_reset(&h1c->ibuf); htx_to_buf(htx, buf); if (h1s->cs) h1s->cs->flags |= CS_FL_EOI;