From ffafb3d2c2464eb1de9734ecf5b8bcd2172f0797 Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Tue, 15 Feb 2022 16:10:42 +0100 Subject: [PATCH] MINOR: h3: remove transfer-encoding header According to HTTP/3 specification, transfer-encoding header must not be used in HTTP/3 messages. Remove it when converting HTX responses to HTTP/3. --- src/h3.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/h3.c b/src/h3.c index e68665bb3..85eca90d7 100644 --- a/src/h3.c +++ b/src/h3.c @@ -468,6 +468,14 @@ static int h3_resp_headers_send(struct qcs *qcs, struct htx *htx) if (isteq(list[hdr].n, ist(""))) break; + /* draft-ietf-quic-http34 4.1. HTTP Message Exchanges + * Transfer codings (see Section 6.1 of [HTTP11]) are not + * defined for HTTP/3; the Transfer-Encoding header field MUST + * NOT be used. + */ + if (isteq(list[hdr].n, ist("transfer-encoding"))) + continue; + if (qpack_encode_header(&headers_buf, list[hdr].n, list[hdr].v)) ABORT_NOW(); }