Skip to content

Commit 786985f

Browse files
committed
Implement ToTargetAddr for (IpAddr, u16)
1 parent 3c7d12c commit 786985f

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/util/target_addr.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use crate::SocksError;
55
use anyhow::Context;
66
use std::fmt;
77
use std::io;
8-
use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6};
8+
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6};
99
use std::vec::IntoIter;
1010
use thiserror::Error;
1111
use tokio::io::{AsyncRead, AsyncReadExt};
@@ -179,6 +179,15 @@ impl ToTargetAddr for SocketAddrV6 {
179179
}
180180
}
181181

182+
impl ToTargetAddr for (IpAddr, u16) {
183+
fn to_target_addr(&self) -> io::Result<TargetAddr> {
184+
match self.0 {
185+
IpAddr::V4(ipv4_addr) => (ipv4_addr, self.1).to_target_addr(),
186+
IpAddr::V6(ipv6_addr) => (ipv6_addr, self.1).to_target_addr(),
187+
}
188+
}
189+
}
190+
182191
impl ToTargetAddr for (Ipv4Addr, u16) {
183192
fn to_target_addr(&self) -> io::Result<TargetAddr> {
184193
SocketAddrV4::new(self.0, self.1).to_target_addr()

0 commit comments

Comments
 (0)