After checking the current interop matrix, I noticed that the picoquic server does not work with the cloudflare/quiche client anymore. I was interested in the reason and after some debugging, it looks like the quiche client is "greasing" the HTTP/3 stream type with a reserved stream type (e.g. 0x303c677fab24f53d) "to exercise the requirement that unknown types be ignored" (RFC 9114 - Section 6.2.3). After turning off greasing at the quiche client with --no-grease, everything works fine.
I noticed that quiche is also greasing the settings type in a SETTINGS frame inside a HTTP/3 control stream. However, the picoquic server seems to be resilient against this.
After checking the current interop matrix, I noticed that the picoquic server does not work with the cloudflare/quiche client anymore. I was interested in the reason and after some debugging, it looks like the quiche client is "greasing" the HTTP/3 stream type with a reserved stream type (e.g. 0x303c677fab24f53d) "to exercise the requirement that unknown types be ignored" (RFC 9114 - Section 6.2.3). After turning off greasing at the quiche client with
--no-grease
, everything works fine. I noticed that quiche is also greasing the settings type in aSETTINGS
frame inside a HTTP/3 control stream. However, the picoquic server seems to be resilient against this.