|  | @@ -58,6 +58,8 @@ func (s *Server) Network() net.NetworkList {
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  func (s *Server) Process(ctx context.Context, network net.Network, conn internet.Connection) error {
 |  |  func (s *Server) Process(ctx context.Context, network net.Network, conn internet.Connection) error {
 | 
											
												
													
														|  | 
 |  | +	conn.SetReusable(false)
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  	switch network {
 |  |  	switch network {
 | 
											
												
													
														|  |  	case net.Network_TCP:
 |  |  	case net.Network_TCP:
 | 
											
												
													
														|  |  		return s.processTCP(ctx, conn)
 |  |  		return s.processTCP(ctx, conn)
 | 
											
										
											
												
													
														|  | @@ -69,8 +71,6 @@ func (s *Server) Process(ctx context.Context, network net.Network, conn internet
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  func (s *Server) processTCP(ctx context.Context, conn internet.Connection) error {
 |  |  func (s *Server) processTCP(ctx context.Context, conn internet.Connection) error {
 | 
											
												
													
														|  | -	conn.SetReusable(false)
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  	timedReader := net.NewTimeOutReader(16 /* seconds, for handshake */, conn)
 |  |  	timedReader := net.NewTimeOutReader(16 /* seconds, for handshake */, conn)
 | 
											
												
													
														|  |  	reader := bufio.NewReader(timedReader)
 |  |  	reader := bufio.NewReader(timedReader)
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -123,7 +123,7 @@ func (v *Server) transport(ctx context.Context, reader io.Reader, writer io.Writ
 | 
											
												
													
														|  |  		defer input.Close()
 |  |  		defer input.Close()
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  		v2reader := buf.NewReader(reader)
 |  |  		v2reader := buf.NewReader(reader)
 | 
											
												
													
														|  | -		if err := buf.PipeUntilEOF(v2reader, input); err != nil {
 |  | 
 | 
											
												
													
														|  | 
 |  | +		if err := buf.Pipe(v2reader, input); err != nil {
 | 
											
												
													
														|  |  			log.Info("Socks|Server: Failed to transport all TCP request: ", err)
 |  |  			log.Info("Socks|Server: Failed to transport all TCP request: ", err)
 | 
											
												
													
														|  |  			return err
 |  |  			return err
 | 
											
												
													
														|  |  		}
 |  |  		}
 |