mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-04-30 21:22:16 +00:00
fix(examples): call Swarm::add_external_address
in dcutr and relay
> Observed addresses (aka. external address candidates) of the local node, reported by a remote node > via `libp2p-identify`, are no longer automatically considered confirmed external addresses, in > other words they are no longer trusted by default. Instead users need to confirm the reported > observed address either manually, or by using `libp2p-autonat`. In trusted environments users can > simply extract observed addresses from a `libp2p-identify::Event::Received { info: > libp2p_identify::Info { observed_addr }}` and confirm them via `Swarm::add_external_address`. Follow-up to https://github.com/libp2p/rust-libp2p/pull/3954. Pull-Request: #4052.
This commit is contained in:
parent
c2230f9948
commit
2910c985e8
@ -214,6 +214,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
..
|
||||
})) => {
|
||||
info!("Relay told us our public address: {:?}", observed_addr);
|
||||
swarm.add_external_address(observed_addr);
|
||||
learned_observed_addr = true;
|
||||
}
|
||||
event => panic!("{event:?}"),
|
||||
|
@ -82,6 +82,14 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
loop {
|
||||
match swarm.next().await.expect("Infinite Stream.") {
|
||||
SwarmEvent::Behaviour(event) => {
|
||||
if let BehaviourEvent::Identify(identify::Event::Received {
|
||||
info: identify::Info { observed_addr, .. },
|
||||
..
|
||||
}) = &event
|
||||
{
|
||||
swarm.add_external_address(observed_addr.clone());
|
||||
}
|
||||
|
||||
println!("{event:?}")
|
||||
}
|
||||
SwarmEvent::NewListenAddr { address, .. } => {
|
||||
|
@ -1,5 +1,10 @@
|
||||
## 0.43.0 - unreleased
|
||||
|
||||
- Observed addresses (aka. external address candidates) of the local node, reported by a remote node via `libp2p-identify`, are no longer automatically considered confirmed external addresses, in other words they are no longer trusted by default.
|
||||
Instead users need to confirm the reported observed address either manually, or by using `libp2p-autonat`.
|
||||
In trusted environments users can simply extract observed addresses from a `libp2p-identify::Event::Received { info: libp2p_identify::Info { observed_addr }}` and confirm them via `Swarm::add_external_address`.
|
||||
See [PR 3954] and [PR 4052].
|
||||
|
||||
- Remove deprecated `Identify` prefixed symbols. See [PR 3698].
|
||||
- Raise MSRV to 1.65.
|
||||
See [PR 3715].
|
||||
@ -17,7 +22,9 @@
|
||||
[PR 3698]: https://github.com/libp2p/rust-libp2p/pull/3698
|
||||
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
|
||||
[PR 3876]: https://github.com/libp2p/rust-libp2p/pull/3876
|
||||
[PR 3954]: https://github.com/libp2p/rust-libp2p/pull/3954
|
||||
[PR 3980]: https://github.com/libp2p/rust-libp2p/pull/3980
|
||||
[PR 4052]: https://github.com/libp2p/rust-libp2p/pull/4052
|
||||
|
||||
## 0.42.2
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user