Skip to content
This repository was archived by the owner on May 8, 2026. It is now read-only.

Commit 1b4ad1e

Browse files
committed
Set default maxFieldSectionSize to 16MB (#16088)
Long.MAX_VALUE cannot be encoded as a valid QUIC varint (only 62 value bits are usable, so Max can be 2^62-1 but JAVA Long MAX = 2^63-1), which can cause HTTP/3/WebTransport negotiation failures. A large but bounded default is safer and more compatible across implementations. as per [RFC9000](https://datatracker.ietf.org/doc/html/rfc9000?#name-variable-length-integer-enc) <img width="400" height="300" alt="Screenshot 2025-12-26 at 12 29 19 AM" src="https://github.com/user-attachments/assets/535048fd-1893-4ffd-bc9e-46c9d802e189" /> Changed default maxFieldSectionSize from Long.MAX_VALUE to 16 * 1024 * 1024 (16MB). Result Fixes #16087 Uses a QUIC-compliant value and prevents failures during SETTINGS exchange with peers. > Note : This did not affect any flow uses `new Http3Settings() `only if implementations use `Http3Settings.defaultSettings()` Result: Port of netty/netty#16088
1 parent e44b34e commit 1b4ad1e

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

src/main/java/io/netty/incubator/codec/http3/Http3Settings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ public static Http3Settings defaultSettings() {
265265
return new Http3Settings()
266266
.qpackMaxTableCapacity(0)
267267
.qpackBlockedStreams(0)
268-
.maxFieldSectionSize(Long.MAX_VALUE)
268+
.maxFieldSectionSize(16 * 1024 * 1024)
269269
.enableConnectProtocol(false);
270270
}
271271

src/test/java/io/netty/incubator/codec/http3/Http3SettingsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ void testDefaultSettingsValues() {
4646
assertEquals(0L, settings.qpackMaxTableCapacity());
4747
assertEquals(0L, settings.qpackBlockedStreams());
4848
assertEquals(Boolean.FALSE, settings.connectProtocolEnabled());
49-
assertEquals(Long.MAX_VALUE, settings.maxFieldSectionSize());
49+
assertEquals(16 * 1024 * 1024, settings.maxFieldSectionSize());
5050
}
5151

5252
@Test

0 commit comments

Comments
 (0)