You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that the value sent by nghttp2.org is 4611686018427387903, which is not a "grease" value.
The closes grease value is 0x1F * 148764065110560899 + 0x21 = 4611686018427387902 which is off by 1 with what sent by nghttp2.org, so I guess also nghttp2.org has a bug.
Test code:
@Test
public void testConnection_nghttp2() throws Exception {
final HTTP3Client h3Client = new HTTP3Client();
final HttpClientTransportOverHTTP3 transport = new HttpClientTransportOverHTTP3(h3Client);
final HttpClient client = new HttpClient(transport);
client.start();
final ContentResponse response = client.GET("https://nghttp2.org:4433"); // will pass for 'https://http3check.net`
assertEquals(200, response.getStatus());
client.stop();
}
The text was updated successfully, but these errors were encountered:
Greasing is done for settings ID, not value.
4611686018427387903 is a valid value for SETTINGS_MAX_FIELD_SECTION_SIZE. That is the maximum value that can be expressed in 62-bit unsigned integer.
I think jetty should try to convert it to 64-bit integer rather than int (which I assume 32-bit integer which is too small).
When trying jetty http3 client, I found out that it fails with nghttpx http3 server.
For example, java test below fails for https://nghttp2.org:4433 (or local nghttpx), but will pass for https://http3check.net
However, curl built with http3 support will connect both https://nghttp2.org:4433 and https://http3check.net successfully.
According to the comment in jetty/jetty.project#10390 , this could be bug in the
nghttpx
too:Test code:
The text was updated successfully, but these errors were encountered: