|  | @@ -23,25 +23,25 @@ func (request *Socks5UDPRequest) Destination() v2net.Destination {
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  func (request *Socks5UDPRequest) Bytes(buffer []byte) []byte {
 |  |  func (request *Socks5UDPRequest) Bytes(buffer []byte) []byte {
 | 
											
												
													
														|  | -  if buffer == nil {
 |  | 
 | 
											
												
													
														|  | -    buffer = make([]byte, 0, 2*1024)
 |  | 
 | 
											
												
													
														|  | -  }
 |  | 
 | 
											
												
													
														|  | -  buffer = append(buffer, 0, 0, request.Fragment)
 |  | 
 | 
											
												
													
														|  | -  switch {
 |  | 
 | 
											
												
													
														|  | -    case request.Address.IsIPv4():
 |  | 
 | 
											
												
													
														|  | -    buffer = append(buffer, AddrTypeIPv4)
 |  | 
 | 
											
												
													
														|  | -    buffer = append(buffer, request.Address.IP()...)
 |  | 
 | 
											
												
													
														|  | -    case request.Address.IsIPv6():
 |  | 
 | 
											
												
													
														|  | -    buffer = append(buffer, AddrTypeIPv6)
 |  | 
 | 
											
												
													
														|  | -    buffer = append(buffer, request.Address.IP()...)
 |  | 
 | 
											
												
													
														|  | -    case request.Address.IsDomain():
 |  | 
 | 
											
												
													
														|  | -    buffer = append(buffer, AddrTypeDomain)
 |  | 
 | 
											
												
													
														|  | -    buffer = append(buffer, byte(len(request.Address.Domain())))
 |  | 
 | 
											
												
													
														|  | -    buffer = append(buffer, []byte(request.Address.Domain())...)
 |  | 
 | 
											
												
													
														|  | -  }
 |  | 
 | 
											
												
													
														|  | -  buffer = append(buffer, request.Address.PortBytes()...)
 |  | 
 | 
											
												
													
														|  | -  buffer = append(buffer, request.Data...)
 |  | 
 | 
											
												
													
														|  | -  return buffer
 |  | 
 | 
											
												
													
														|  | 
 |  | +	if buffer == nil {
 | 
											
												
													
														|  | 
 |  | +		buffer = make([]byte, 0, 2*1024)
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +	buffer = append(buffer, 0, 0, request.Fragment)
 | 
											
												
													
														|  | 
 |  | +	switch {
 | 
											
												
													
														|  | 
 |  | +	case request.Address.IsIPv4():
 | 
											
												
													
														|  | 
 |  | +		buffer = append(buffer, AddrTypeIPv4)
 | 
											
												
													
														|  | 
 |  | +		buffer = append(buffer, request.Address.IP()...)
 | 
											
												
													
														|  | 
 |  | +	case request.Address.IsIPv6():
 | 
											
												
													
														|  | 
 |  | +		buffer = append(buffer, AddrTypeIPv6)
 | 
											
												
													
														|  | 
 |  | +		buffer = append(buffer, request.Address.IP()...)
 | 
											
												
													
														|  | 
 |  | +	case request.Address.IsDomain():
 | 
											
												
													
														|  | 
 |  | +		buffer = append(buffer, AddrTypeDomain)
 | 
											
												
													
														|  | 
 |  | +		buffer = append(buffer, byte(len(request.Address.Domain())))
 | 
											
												
													
														|  | 
 |  | +		buffer = append(buffer, []byte(request.Address.Domain())...)
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +	buffer = append(buffer, request.Address.PortBytes()...)
 | 
											
												
													
														|  | 
 |  | +	buffer = append(buffer, request.Data...)
 | 
											
												
													
														|  | 
 |  | +	return buffer
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  func ReadUDPRequest(packet []byte) (request Socks5UDPRequest, err error) {
 |  |  func ReadUDPRequest(packet []byte) (request Socks5UDPRequest, err error) {
 |