Skip to content

Commit b8b5bc3

Browse files
fix(iroh): correctly hook up ipv6 addr lookups (#3342)
## Description This bug was likely introduced in the error refactoring, by myself..
1 parent 136b855 commit b8b5bc3

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

iroh/src/net_report/reportgen.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1324,7 +1324,10 @@ async fn relay_lookup_ipv4_staggered(
13241324
Ok(mut addrs) => addrs
13251325
.next()
13261326
.map(|ip| ip.to_canonical())
1327-
.map(|addr| SocketAddr::new(addr, port))
1327+
.map(|addr| {
1328+
debug_assert!(addr.is_ipv4(), "bad DNS lookup: {:?}", addr);
1329+
SocketAddr::new(addr, port)
1330+
})
13281331
.ok_or(get_relay_addr_error::NoAddrFoundSnafu.build()),
13291332
Err(err) => Err(get_relay_addr_error::DnsLookupSnafu.into_error(err)),
13301333
}
@@ -1353,14 +1356,16 @@ async fn relay_lookup_ipv6_staggered(
13531356
{
13541357
Ok(mut addrs) => addrs
13551358
.next()
1356-
.map(|ip| ip.to_canonical())
1357-
.map(|addr| SocketAddr::new(addr, port))
1359+
.map(|addr| {
1360+
debug_assert!(addr.is_ipv6(), "bad DNS lookup: {:?}", addr);
1361+
SocketAddr::new(addr, port)
1362+
})
13581363
.ok_or(get_relay_addr_error::NoAddrFoundSnafu.build()),
13591364
Err(err) => Err(get_relay_addr_error::DnsLookupSnafu.into_error(err)),
13601365
}
13611366
}
1362-
Some(url::Host::Ipv4(addr)) => Ok(SocketAddr::new(addr.into(), port)),
1363-
Some(url::Host::Ipv6(_addr)) => Err(get_relay_addr_error::NoAddrFoundSnafu.build()),
1367+
Some(url::Host::Ipv4(_addr)) => Err(get_relay_addr_error::NoAddrFoundSnafu.build()),
1368+
Some(url::Host::Ipv6(addr)) => Ok(SocketAddr::new(addr.into(), port)),
13641369
None => Err(get_relay_addr_error::InvalidHostnameSnafu.build()),
13651370
}
13661371
}

0 commit comments

Comments
 (0)