Do not permit migration during the handshake
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 413
- Forks
- 63
- Avg merge
- 4d 14m
- Merged PRs (30d)
- 4
Description
https://www.rfc-editor.org/rfc/rfc9000.html#section-9-2 says that during the handshake the endpoint addresses must remain stable. There are some exceptions to this: the preferred_address transport parameter and iroh's special case that allows the server to migrate while no authenticated Handshake packet is received by the client.
However the current code does not really enforce that migration doesn't happen during the handshake. The packets triggering client migration are not ignored.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with RFC 9000 §9.2 and trace the packet-handling path that triggers client migration; the issue does not name a file or test. Verify that endpoint addresses remain stable during the handshake while preserving the preferred_address and iroh exceptions. Add coverage showing migration-triggering packets are ignored during the handshake.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100