Skip to content
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

quic: disable sending of Version Negotiation packets #2015

Merged
merged 1 commit into from
Feb 4, 2023

Conversation

marten-seemann
Copy link
Contributor

Fixes #1433.

@marten-seemann
Copy link
Contributor Author

Haven't had the time to debug this yet, but this looks like a bug. We should not have been VNPs anywhere...

@marten-seemann marten-seemann mentioned this pull request Jan 27, 2023
35 tasks
@marten-seemann
Copy link
Contributor Author

Haven't had the time to debug this yet, but this looks like a bug. We should not have been VNPs anywhere...

No bug here, just a test that was relying on an error that would be generated when receiving a VNP. See comment in the code for a more detailed explanation.

@marten-seemann
Copy link
Contributor Author

I confirmed that this won't break the IPFS network by running a Kubo node that logs sending and receiving of Version Negotiation packets. It turns out that there are still some ancient go-ipfs nodes around that use draft-27. They're using go-ipfs versions v0.5.1 (and earlier). Later Kubo versions were already using draft-29.

These nodes aren't able to establish QUIC connections these days, since they only speak draft-27. For them, disabling version negotiation will mean that they'll have to wait for the handshake timeout instead of being able to abort the connection attempt right after receiving the VNP. I don't care about that.

@marten-seemann marten-seemann merged commit 5da8497 into master Feb 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

quic: disable sending of Version Negotiation packets
2 participants