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

fix: dial relay when we are dialed via it but have no reservation #2252

Merged
merged 2 commits into from
Nov 22, 2023

Conversation

achingbrain
Copy link
Member

@achingbrain achingbrain commented Nov 21, 2023

Fixes an edge case where we receive an incoming connection attempt from a peer via a relay that we did not know we had a reservation on.

This could happen if we restart or otherwise lose context.

When this happens, attempt to listen on a p2p-circuit version of the incoming connection remote addr - this will cause us to refresh our reservation on the remote relay.

Fixes recent interop test "the dial request had no valid addresses" instability where the test configures a relay reservation on behalf of a node which then has no knowledge of it's reservations so tells identify peers that it has no listen addresses.

Change checklist

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if necessary (this includes comments as well)
  • I have added tests that prove my fix is effective or that my feature works

Fixes an edge case where we receive an incoming connection attempt
from a peer via a relay that we did not know we had a reservation
on.

This could happen if we restart or otherwise lose context.

When this happens, attempt to listen on a p2p-circuit version of
the incoming connection remote addr - this will cause us to refresh
our reservation on the remote relay.

Fixes recent interop test instability where the test configures a
relay reservation on behalf of a node which then has no knowledge of
it's reservations so tells identify peers that it has no listen
addresses.
@achingbrain achingbrain requested a review from a team as a code owner November 21, 2023 19:47
@achingbrain achingbrain merged commit d729d66 into main Nov 22, 2023
22 checks passed
@achingbrain achingbrain deleted the fix/dial-relay-we-may-have-a-reservation-on branch November 22, 2023 08:35
maschad pushed a commit to maschad/js-libp2p that referenced this pull request Nov 27, 2023
…bp2p#2252)

Fixes an edge case where we receive an incoming connection attempt
from a peer via a relay that we did not know we had a reservation
on.

This could happen if we restart or otherwise lose context.

When this happens, attempt to listen on a p2p-circuit version of
the incoming connection remote addr - this will cause us to refresh
our reservation on the remote relay.

Fixes recent interop test instability where the test configures a
relay reservation on behalf of a node which then has no knowledge of
it's reservations so tells identify peers that it has no listen
addresses.
This was referenced Jan 18, 2024
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.

1 participant