n0-computer / n0-computer/noq

Do not permit migration during the handshake

Open
#604 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

compliance
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.