diff --git a/src/proxy/masking.rs b/src/proxy/masking.rs index ccb1e91..d12cf41 100644 --- a/src/proxy/masking.rs +++ b/src/proxy/masking.rs @@ -125,14 +125,7 @@ where version => { let header = if let Ok(local_addr) = stream.local_addr() { match version { - 2 => match (peer, local_addr) { - (SocketAddr::V4(src), SocketAddr::V4(dst)) => - ProxyProtocolV2Builder::new().with_addrs(src.into(), dst.into()).build(), - (SocketAddr::V6(src), SocketAddr::V6(dst)) => - ProxyProtocolV2Builder::new().with_addrs(src.into(), dst.into()).build(), - _ => - ProxyProtocolV2Builder::new().build(), - }, + 2 => ProxyProtocolV2Builder::new().with_addrs(peer, local_addr).build(), _ => match (peer, local_addr) { (SocketAddr::V4(src), SocketAddr::V4(dst)) => ProxyProtocolV1Builder::new().tcp4(src.into(), dst.into()).build(), diff --git a/src/transport/proxy_protocol.rs b/src/transport/proxy_protocol.rs index 13278c3..96f4ffb 100644 --- a/src/transport/proxy_protocol.rs +++ b/src/transport/proxy_protocol.rs @@ -291,6 +291,12 @@ pub struct ProxyProtocolV2Builder { dst: Option, } +impl Default for ProxyProtocolV2Builder { + fn default() -> Self { + Self::new() + } +} + impl ProxyProtocolV2Builder { pub fn new() -> Self { Self { src: None, dst: None }