|  | @@ -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:
 |  |  	// Some SOCKS software requires a value other than dest. Let's fake one:
 | 
											
												
													
														|  |  	response.Port = uint16(1717)
 |  |  	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()
 |  |  	responseBuffer := alloc.NewSmallBuffer().Clear()
 | 
											
												
													
														|  |  	response.Write(responseBuffer)
 |  |  	response.Write(responseBuffer)
 | 
											
										
											
												
													
														|  | @@ -198,14 +194,11 @@ func (server *SocksServer) handleUDP(reader *v2net.TimeOutReader, writer io.Writ
 | 
											
												
													
														|  |  	response.Port = udpAddr.Port()
 |  |  	response.Port = udpAddr.Port()
 | 
											
												
													
														|  |  	switch {
 |  |  	switch {
 | 
											
												
													
														|  |  	case udpAddr.IsIPv4():
 |  |  	case udpAddr.IsIPv4():
 | 
											
												
													
														|  | -		response.AddrType = protocol.AddrTypeIPv4
 |  | 
 | 
											
												
													
														|  | -		copy(response.IPv4[:], udpAddr.IP())
 |  | 
 | 
											
												
													
														|  | 
 |  | +    response.SetIPv4(udpAddr.IP())
 | 
											
												
													
														|  |  	case udpAddr.IsIPv6():
 |  |  	case udpAddr.IsIPv6():
 | 
											
												
													
														|  | -		response.AddrType = protocol.AddrTypeIPv6
 |  | 
 | 
											
												
													
														|  | -		copy(response.IPv6[:], udpAddr.IP())
 |  | 
 | 
											
												
													
														|  | 
 |  | +    response.SetIPv6(udpAddr.IP())
 | 
											
												
													
														|  |  	case udpAddr.IsDomain():
 |  |  	case udpAddr.IsDomain():
 | 
											
												
													
														|  | -		response.AddrType = protocol.AddrTypeDomain
 |  | 
 | 
											
												
													
														|  | -		response.Domain = udpAddr.Domain()
 |  | 
 | 
											
												
													
														|  | 
 |  | +    response.SetDOmain(udpAddr.Domain())
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	responseBuffer := alloc.NewSmallBuffer().Clear()
 |  |  	responseBuffer := alloc.NewSmallBuffer().Clear()
 |