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);
|
info!("Relay told us our public address: {:?}", observed_addr);
|
||||||
|
swarm.add_external_address(observed_addr);
|
||||||
learned_observed_addr = true;
|
learned_observed_addr = true;
|
||||||
}
|
}
|
||||||
event => panic!("{event:?}"),
|
event => panic!("{event:?}"),
|
||||||
|
@ -82,6 +82,14 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
loop {
|
loop {
|
||||||
match swarm.next().await.expect("Infinite Stream.") {
|
match swarm.next().await.expect("Infinite Stream.") {
|
||||||
SwarmEvent::Behaviour(event) => {
|
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:?}")
|
println!("{event:?}")
|
||||||
}
|
}
|
||||||
SwarmEvent::NewListenAddr { address, .. } => {
|
SwarmEvent::NewListenAddr { address, .. } => {
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
## 0.43.0 - unreleased
|
## 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].
|
- Remove deprecated `Identify` prefixed symbols. See [PR 3698].
|
||||||
- Raise MSRV to 1.65.
|
- Raise MSRV to 1.65.
|
||||||
See [PR 3715].
|
See [PR 3715].
|
||||||
@ -17,7 +22,9 @@
|
|||||||
[PR 3698]: https://github.com/libp2p/rust-libp2p/pull/3698
|
[PR 3698]: https://github.com/libp2p/rust-libp2p/pull/3698
|
||||||
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
|
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
|
||||||
[PR 3876]: https://github.com/libp2p/rust-libp2p/pull/3876
|
[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 3980]: https://github.com/libp2p/rust-libp2p/pull/3980
|
||||||
|
[PR 4052]: https://github.com/libp2p/rust-libp2p/pull/4052
|
||||||
|
|
||||||
## 0.42.2
|
## 0.42.2
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user