diff --git a/proxy/socks/socks.go b/proxy/socks/socks.go index 53899d3c..3c34d348 100644 --- a/proxy/socks/socks.go +++ b/proxy/socks/socks.go @@ -163,11 +163,7 @@ func (server *SocksServer) handleSocks5(reader *v2net.TimeOutReader, writer io.W // Some SOCKS software requires a value other than dest. Let's fake one: response.Port = uint16(1717) - response.AddrType = protocol.AddrTypeIPv4 - response.IPv4[0] = 0 - response.IPv4[1] = 0 - response.IPv4[2] = 0 - response.IPv4[3] = 0 + response.SetIPv4([]byte{0, 0, 0, 0}) responseBuffer := alloc.NewSmallBuffer().Clear() response.Write(responseBuffer) @@ -198,14 +194,11 @@ func (server *SocksServer) handleUDP(reader *v2net.TimeOutReader, writer io.Writ response.Port = udpAddr.Port() switch { case udpAddr.IsIPv4(): - response.AddrType = protocol.AddrTypeIPv4 - copy(response.IPv4[:], udpAddr.IP()) + response.SetIPv4(udpAddr.IP()) case udpAddr.IsIPv6(): - response.AddrType = protocol.AddrTypeIPv6 - copy(response.IPv6[:], udpAddr.IP()) + response.SetIPv6(udpAddr.IP()) case udpAddr.IsDomain(): - response.AddrType = protocol.AddrTypeDomain - response.Domain = udpAddr.Domain() + response.SetDOmain(udpAddr.Domain()) } responseBuffer := alloc.NewSmallBuffer().Clear()