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.
return ret;
err:
- b_reset(&h1c->ibuf);
htx_to_buf(htx, buf);
if (h1s->cs)
h1s->cs->flags |= CS_FL_EOI;