fix(p2p): Remove `SocketAddr::V6` <> `AddrV2::Cjdns` conversions

This commit is contained in:
Erick Cestari 2025-05-21 14:10:43 -03:00
parent 2c236ae24f
commit 3c920d1acb
No known key found for this signature in database
GPG Key ID: D7D17E26F2FC3F3C
1 changed files with 1 additions and 23 deletions

View File

@ -169,16 +169,7 @@ impl From<SocketAddr> for AddrV2 {
fn from(addr: SocketAddr) -> Self { fn from(addr: SocketAddr) -> Self {
match addr { match addr {
SocketAddr::V4(sock) => AddrV2::Ipv4(*sock.ip()), SocketAddr::V4(sock) => AddrV2::Ipv4(*sock.ip()),
SocketAddr::V6(sock) => { SocketAddr::V6(sock) => AddrV2::Ipv6(*sock.ip()),
// CJDNS uses the IPv6 network `fc00::/8`
// All CJDNS addresses must have `0xfc00` as the first and second octets
let ip = *sock.ip();
if ip.octets()[0] == 0xfc && ip.octets()[1] == 0x00 {
AddrV2::Cjdns(ip)
} else {
AddrV2::Ipv6(ip)
}
}
} }
} }
} }
@ -761,19 +752,6 @@ mod test {
assert_eq!(addr, AddrV2::Ipv6(Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 1))); assert_eq!(addr, AddrV2::Ipv6(Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 1)));
} }
#[test]
fn socketaddr_to_addrv2_cjdns() {
let socket = SocketAddr::V6(SocketAddrV6::new(
Ipv6Addr::new(0xfc00, 0, 0, 0, 0, 0, 0, 1),
8333,
0,
0,
));
let addr = AddrV2::from(socket);
assert_eq!(addr, AddrV2::Cjdns(Ipv6Addr::new(0xfc00, 0, 0, 0, 0, 0, 0, 1)));
}
#[test] #[test]
fn addrv2_to_socketaddr_ipv4() { fn addrv2_to_socketaddr_ipv4() {
let addr = AddrV2::Ipv4(Ipv4Addr::new(192, 168, 1, 1)); let addr = AddrV2::Ipv4(Ipv4Addr::new(192, 168, 1, 1));