iroh
iroh copied to clipboard
fix(iroh): always ping new paths, add test for reconnecting with changed addrs
Description
Adds a test that closes a client endpoint and recreates it right away with the same node id. It tries to connect to a server it was previously connected to to. The test fails on main.
The reason is that the server thinks the client's previous UDP send address is still valid. Even though it receives both disco pings and quic packets from the new address, it doesn't update the best_addr used for sending, therefore the server's QUIC replies are sent into nirvana, and the test times out.
The second commit fixes this behavior by always sending disco pings to new paths.
Breaking Changes
Notes & open questions
Change checklist
- [ ] Self-review.
- [ ] Documentation updates following the style guide, if relevant.
- [ ] Tests if relevant.
- [ ] All breaking changes documented.
- [ ] List all breaking changes in the above "Breaking Changes" section.
- [ ] Open an issue or PR on any number0 repos that are affected by this breaking change. Give guidance on how the updates should be handled or do the actual updates themselves. The major ones are:
- [ ]
quic-rpc - [ ]
iroh-gossip - [ ]
iroh-blobs - [ ]
dumbpipe - [ ]
sendme
- [ ]