BUG/MEDIUM: mux-h1: fix incorrect state checking in h1_process_mux()

That's a regression introduced in 2.9-dev by commit 723c73f8a ("MEDIUM:
mux-h1: Split h1_process_mux() to make code more readable") and found
by Christopher. The consequence is uncertain but the test definitely was
not right in that it would catch most existing states (H1_MSG_DONE=30).
At least it would emit too many "H1 request fully xferred".

No backport needed.
This commit is contained in:
Willy Tarreau 2023-08-09 11:51:58 +02:00
parent 22731762d9
commit 949371a00d

View File

@ -2997,7 +2997,7 @@ static size_t h1_process_mux(struct h1c *h1c, struct buffer *buf, size_t count)
total += ret;
count -= ret;
if ((h1m->state & H1_MSG_DONE)) {
if ((h1m->state == H1_MSG_DONE)) {
TRACE_USER((!(h1m->flags & H1_MF_RESP) ? "H1 request fully xferred" : "H1 response fully xferred"),
H1_EV_TX_DATA, h1c->conn, h1s);