From e2b05ccff566a48253d5a29c2f93320488c469d2 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 3 Jan 2019 16:18:34 +0100 Subject: [PATCH] MEDIUM: mux-h2: pass trailers to H1 (legacy mode) When forwarding an H2 request to an H1 server, if the request doesn't have a content-length header field, it is chunked. In this case it is possible to send trailers to the server, which is what this patch does. If the transfer is performed without chunking, then the trailers are silently discarded. --- src/mux_h2.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mux_h2.c b/src/mux_h2.c index 9f0b89dbc..74c6c0a2e 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -3469,7 +3469,12 @@ next_frame: * data block message emit the trailing CRLF */ if (!b_putblk(rxbuf, "0\r\n", 3)) goto fail; - /* FIXME: emit the decoded trailers here */ + + outlen = h2_make_h1_trailers(list, b_tail(rxbuf), try); + if (outlen > 0) + b_add(rxbuf, outlen); + else + goto fail; } goto done;