From 65a42d183eb3da84f5f6ba3150d607092354f450 Mon Sep 17 00:00:00 2001 From: Dridi Boukelmoune Date: Thu, 4 Apr 2024 19:18:12 +0200 Subject: [PATCH] param: Restore old default h2_max_header_list_size Except that the old default value replaces the maximum one. Aligning with the literal maximum value for the underlying HTTP/2 setting breaks 32bit builds because the byte tweaks take a detour via ssize_t. When it casts to uintmax_t the MSB is propagated all the way, triggering the following error at build time: > 4294967295b is too large for this architecture. Instead of fighting a tweak that is clearly wrong, grant h2 clients a maximum of 2GB of uncompressed headers (instead of 4GB) that will never happen, because h2 is overall much wronger. --- include/tbl/params.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/tbl/params.h b/include/tbl/params.h index 1b50d4cda7..938b00f4b9 100644 --- a/include/tbl/params.h +++ b/include/tbl/params.h @@ -1288,7 +1288,7 @@ PARAM_SIMPLE( /* name */ h2_max_header_list_size, /* type */ bytes_u, /* min */ "0b", - /* max */ "4294967295b", + /* max */ "2147483647b", /* NB: not the RFC maximum */ /* def */ "0b", /* units */ "bytes", /* descr */