New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zero-lenght Client Connection IDs #4465
Comments
Hi @backkem, thank you for opening this well-researched issue! I assume that you're referring to this check in Lines 545 to 552 in e1e5b62
This code implements the check required by section 7.2 of RFC 9000, which says:
This only applies to the initial packet, for packets later in the connection a zero-length CID can be negotiated. In fact, that's what quic-go does when you use To further debug this, could you record a tcpdump of the packets that are being sent here? |
Ah, thanks for the pointers! In this case the C++ client may be the one misbehaving. Let me check on that first. |
I'm trying to connect from a client using google/quiche to a server using
quic-go
. The latter errors out the connection withError occurred handling initial packet: too short connection ID
.It seems that
quiche
allows clients to use a zero-lenght client connection IDs. If I read RFC 9000 correctly, it also seems to allow for this. Some relevant excerpts:If I patch
(s *baseServer) handleInitialImpl
to allow either zero or sufficient length Connection IDs, the connection seems to progress.I'm happy to put together a PR in line with this. However, I wanted to see if there is initial feedback or any gotchas to watch out for in this regard?
The text was updated successfully, but these errors were encountered: