BUG/MEDIUM: h3: Increase max number of headers when sending headers

In the same way than for the H2, the maximum number of headers that can be
encoded when headers are sent must be increased to match the limit imposed
when they are received.

Reasons are the sames. On receive path, the maximum number of headers
accepted must be higher than the configured limit to be able to handle
pseudo headers and cookies headers. On the sending path, the same limit must
be applied because the pseudo headers will consume some extra slots and the
cookie header could be splitted.

This patch should be backported as far as 2.6.
This commit is contained in:
Christopher Faulet 2024-11-20 17:14:56 +01:00
parent 785e633353
commit 3bd9a9e7d7

View File

@ -1569,7 +1569,7 @@ static int h3_resp_headers_send(struct qcs *qcs, struct htx *htx)
struct buffer outbuf; struct buffer outbuf;
struct buffer headers_buf = BUF_NULL; struct buffer headers_buf = BUF_NULL;
struct buffer *res; struct buffer *res;
struct http_hdr list[global.tune.max_http_hdr]; struct http_hdr list[global.tune.max_http_hdr * 2];
struct htx_sl *sl; struct htx_sl *sl;
struct htx_blk *blk; struct htx_blk *blk;
enum htx_blk_type type; enum htx_blk_type type;