Skip to content

Commit

Permalink
feat: leverage type-safe /p2p in multiaddr
Browse files Browse the repository at this point in the history
This updates `multiaddr` to version `0.19`.

Depends-On: libp2p#3656.
Depends-On: multiformats/rust-multiaddr#83.
Resolves: libp2p#4039.

Pull-Request: libp2p#4037.
  • Loading branch information
thomaseizinger authored Jun 8, 2023
1 parent 29b5c7d commit 805da8b
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
16 changes: 8 additions & 8 deletions src/behaviour/as_server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -338,15 +338,15 @@ impl<'a> AsServer<'a> {

let is_valid = addr.iter().all(|proto| match proto {
Protocol::P2pCircuit => false,
Protocol::P2p(hash) => hash == peer.into(),
Protocol::P2p(peer_id) => peer_id == peer,
_ => true,
});

if !is_valid {
return None;
}
if !addr.iter().any(|p| matches!(p, Protocol::P2p(_))) {
addr.push(Protocol::P2p(peer.into()))
addr.push(Protocol::P2p(peer))
}
// Only collect distinct addresses.
distinct.insert(addr.clone()).then_some(addr)
Expand Down Expand Up @@ -380,26 +380,26 @@ mod test {
let observed_addr = Multiaddr::empty()
.with(observed_ip.clone())
.with(random_port())
.with(Protocol::P2p(peer_id.into()));
.with(Protocol::P2p(peer_id));
// Valid address with matching peer-id
let demanded_1 = Multiaddr::empty()
.with(random_ip())
.with(random_port())
.with(Protocol::P2p(peer_id.into()));
.with(Protocol::P2p(peer_id));
// Invalid because peer_id does not match
let demanded_2 = Multiaddr::empty()
.with(random_ip())
.with(random_port())
.with(Protocol::P2p(PeerId::random().into()));
.with(Protocol::P2p(PeerId::random()));
// Valid address without peer-id
let demanded_3 = Multiaddr::empty().with(random_ip()).with(random_port());
// Invalid because relayed
let demanded_4 = Multiaddr::empty()
.with(random_ip())
.with(random_port())
.with(Protocol::P2p(PeerId::random().into()))
.with(Protocol::P2p(PeerId::random()))
.with(Protocol::P2pCircuit)
.with(Protocol::P2p(peer_id.into()));
.with(Protocol::P2p(peer_id));
let demanded = vec![
demanded_1.clone(),
demanded_2,
Expand All @@ -413,7 +413,7 @@ mod test {
let expected_2 = demanded_3
.replace(0, |_| Some(observed_ip))
.unwrap()
.with(Protocol::P2p(peer_id.into()));
.with(Protocol::P2p(peer_id));
assert_eq!(filtered, vec![expected_1, expected_2]);
}
}
2 changes: 1 addition & 1 deletion tests/test_server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ async fn test_dial_back() {
let expect_addr = Multiaddr::empty()
.with(Protocol::Ip4(observed_client_ip))
.with(Protocol::Tcp(client_port))
.with(Protocol::P2p(client_id.into()));
.with(Protocol::P2p(client_id));
let request_probe_id = match server.next_behaviour_event().await {
Event::InboundProbe(InboundProbeEvent::Request {
peer,
Expand Down

0 comments on commit 805da8b

Please sign in to comment.