]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: h2/trace: do not display "stream error" after a frame ACK
authorWilly Tarreau <w@1wt.eu>
Fri, 18 Sep 2020 05:41:28 +0000 (07:41 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 18 Sep 2020 05:41:28 +0000 (07:41 +0200)
When sending a frame ACK, the parser state is not equal to H2_CS_FRAME_H
and we used to report it as an error, which is not true. In fact we should
only indicate when we skip remaining data.

This may be backported as far as 2.1.

src/mux_h2.c

index 1a9f15ca2ddf6da5f4ce79d15ce4e1f5b4801af6..d145b8a970c8bd6969e588f2a341f6186f0a6b93 100644 (file)
@@ -3190,7 +3190,8 @@ static void h2_process_demux(struct h2c *h2c)
                }
 
                if (h2c->st0 != H2_CS_FRAME_H) {
-                       TRACE_DEVEL("stream error, skip frame payload", H2_EV_RX_FRAME, h2c->conn, h2s);
+                       if (h2c->dfl)
+                               TRACE_DEVEL("skipping remaining frame payload", H2_EV_RX_FRAME, h2c->conn, h2s);
                        ret = MIN(b_data(&h2c->dbuf), h2c->dfl);
                        b_del(&h2c->dbuf, ret);
                        h2c->dfl -= ret;