From 572d9f58474735e048cc6108c164ebf94e99739a Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 11 Oct 2019 16:58:37 +0200 Subject: [PATCH] MINOR: mux-h2: also support emitting CONTINUATION on trailers Trailers were forgotten by commit cb985a4da6 ("MEDIUM: mux-h2: support emitting CONTINUATION frames after HEADERS"), this one just fixes this miss. --- src/mux_h2.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mux_h2.c b/src/mux_h2.c index 14b6ba8f4..e3e797f75 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -5525,6 +5525,15 @@ static size_t h2s_make_trailers(struct h2s *h2s, struct htx *htx) /* update the frame's size */ h2_set_frame_size(outbuf.area, outbuf.data - 9); + if (outbuf.data > h2c->mfs + 9) { + if (!h2_fragment_headers(&outbuf, h2c->mfs)) { + /* output full */ + if (b_space_wraps(mbuf)) + goto realign_again; + goto full; + } + } + /* commit the H2 response */ TRACE_PROTO("sent H2 trailers HEADERS frame", H2_EV_TX_FRAME|H2_EV_TX_HDR|H2_EV_TX_EOI, h2c->conn, h2s); b_add(mbuf, outbuf.data);