-
Notifications
You must be signed in to change notification settings - Fork 959
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(swarm): don't report NewExternalAddrCandidate
if already confirmed
#5582
fix(swarm): don't report NewExternalAddrCandidate
if already confirmed
#5582
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi François, this LGTM! CC @umgefahren wdyt?
…xternal-addresses
This PR is not marked |
…xternal-addresses
rust-libp2p/misc/quick-protobuf-codec/src/lib.rs Lines 14 to 16 in a2a2816
|
@dariusc93 May you get the checks running again and merge this? |
…xternal-addresses
…xternal-addresses
|
* master: (36 commits) chore: refactor ping tests (libp2p#5655) feat: refactor distributed-key-value-store example (libp2p#5652) chore(ci): address clippy beta lints (libp2p#5649) feat(gossipsub): apply `max_transmit_size` to the published message (libp2p#5642) feat(kad): add `Behavior::find_closest_local_peers()` (libp2p#5645) fix(swarm-test): set proper version (libp2p#5648) deps(ci): update cargo-semver-checks (libp2p#5647) chore: fix typo in comment (libp2p#5643) feat: make runtime features optional in swarm-test (libp2p#5551) deps: bump Swatinem/rust-cache from 2.7.3 to 2.7.5 (libp2p#5633) chore: update igd-next to 0.15.1 (libp2p#5625) fix(server): removing dependency on libp2p-lookup (libp2p#5610) refactor(examples): use tokio instead of async-std in relay-server (libp2p#5600) deps: update metrics example dependencies (libp2p#5617) chore: update interop test run condition (libp2p#5611) chore(autonat-v2): fix dial_back_to_non_libp2p test (libp2p#5621) fix(swarm): don't report `NewExternalAddrCandidate` if already confirmed (libp2p#5582) chore(ci): address beta clippy lints (libp2p#5606) fix(ci): address cargo-deny advisories (libp2p#5596) chore(ci): only run interop tests on commits to master (libp2p#5604) ...
Description
Currently,
NewExternalAddrCandidate
events are emitted for every connections. However, we continue to get this event even whenautonat
has already confirmed that this address is external. So we should not continue to advertise the "candidate" event.Notes & open questions
We have made the changes in the
swarm
instead ofidentify
because it does not make it necessary to duplicate theConfirmedExternalAddr
vector in theidentify
Behaviour. Moreover, if any future Behaviour emitNewExternalAddrCandidate
, the same rule will also be applied.I had to edit the
autonat_v2
tests which were always expecting aNewExternalAddrCandidate
but the address was already confirmed.Change checklist