Mailing List Archive

[6.0] 0e1e4ea94 param: Document mapping to HTTP/2 settings
commit 0e1e4ea94e563eb2967dcdadc85eb850243e810a
Author: Dridi Boukelmoune <dridi.boukelmoune@gmail.com>
Date: Thu Mar 28 16:34:35 2024 +0100

param: Document mapping to HTTP/2 settings

With the exception of h2_max_header_list_size that is not advertised as
such despite being ent as part of the initial SETTINGS frame. The same
parameter also sees its default and maximum values updated to 2^32-1.

This is based on this sentence from rfc9113:

> The initial value of this setting is unlimited.

This aligns the h2_max_header_list_size parameter with the values set in
h2_settings.h for MAX_HEADER_LIST_SIZE.

Conflicts:
include/tbl/params.h

diff --git a/include/tbl/params.h b/include/tbl/params.h
index 455a79ec1..5ec1ec821 100644
--- a/include/tbl/params.h
+++ b/include/tbl/params.h
@@ -1816,6 +1816,12 @@ PARAM(
/* func */ NULL
)

+#define H2_SETTING_NAME(nm) "SETTINGS_" #nm
+#define H2_SETTING_DESCR(nm) \
+ "\n\nThe value of this parameter defines " H2_SETTING_NAME(nm) \
+ " in the initial SETTINGS frame sent to the client when a new " \
+ "HTTP2 session is established."
+
PARAM(
/* name */ h2_header_table_size,
/* typ */ bytes_u,
@@ -1827,7 +1833,8 @@ PARAM(
/* s-text */
"HTTP2 header table size.\n"
"This is the size that will be used for the HPACK dynamic\n"
- "decoding table.",
+ "decoding table."
+ H2_SETTING_DESCR(HEADER_TABLE_SIZE),
/* l-text */ "",
/* func */ NULL
)
@@ -1843,7 +1850,8 @@ PARAM(
/* s-text */
"HTTP2 Maximum number of concurrent streams.\n"
"This is the number of requests that can be active\n"
- "at the same time for a single HTTP2 connection.",
+ "at the same time for a single HTTP2 connection."
+ H2_SETTING_DESCR(MAX_CONCURRENT_STREAMS),
/* l-text */ "",
/* func */ NULL
)
@@ -1861,7 +1869,8 @@ PARAM(
/* units */ "bytes",
/* flags */ 0,
/* s-text */
- "HTTP2 initial flow control window size.",
+ "HTTP2 initial flow control window size."
+ H2_SETTING_DESCR(INITIAL_WINDOW_SIZE),
/* l-text */ "",
/* func */ NULL
)
@@ -1875,7 +1884,8 @@ PARAM(
/* units */ "bytes",
/* flags */ 0,
/* s-text */
- "HTTP2 maximum per frame payload size we are willing to accept.",
+ "HTTP2 maximum per frame payload size we are willing to accept."
+ H2_SETTING_DESCR(MAX_FRAME_SIZE),
/* l-text */ "",
/* func */ NULL
)
@@ -1884,8 +1894,8 @@ PARAM(
/* name */ h2_max_header_list_size,
/* typ */ bytes_u,
/* min */ "0b",
- /* max */ NULL,
- /* default */ "2147483647b",
+ /* max */ "4294967295b",
+ /* default */ "4294967295b",
/* units */ "bytes",
/* flags */ 0,
/* s-text */
@@ -1894,6 +1904,9 @@ PARAM(
/* func */ NULL
)

+#undef H2_SETTING_DESCR
+#undef H2_SETTING_NAME
+
#if 0
/* actual location mgt_param_tbl.c */
PARAM(
_______________________________________________
varnish-commit mailing list
varnish-commit@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-commit