mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-12-27 12:35:21 -05:00
Add size parameter to transport.ReadFrom
This commit is contained in:
@@ -65,7 +65,11 @@ func dumpOutput(conn net.Conn, output chan<- []byte, finish *sync.Mutex, udp boo
|
||||
defer finish.Unlock()
|
||||
defer close(output)
|
||||
|
||||
response, err := v2net.ReadFrom(conn)
|
||||
bufferSize := 4 /* KB */
|
||||
if udp {
|
||||
bufferSize = 2
|
||||
}
|
||||
response, err := v2net.ReadFrom(conn, bufferSize)
|
||||
log.Info("Freedom receives %d bytes from %s", len(response), conn.RemoteAddr().String())
|
||||
if len(response) > 0 {
|
||||
output <- response
|
||||
|
||||
@@ -158,7 +158,7 @@ func (server *SocksServer) handleSocks5(reader *v2net.TimeOutReader, writer io.W
|
||||
}
|
||||
|
||||
dest := request.Destination()
|
||||
data, err := v2net.ReadFrom(reader)
|
||||
data, err := v2net.ReadFrom(reader, 4)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -192,8 +192,8 @@ func (server *SocksServer) handleUDP(reader *v2net.TimeOutReader, writer io.Writ
|
||||
return err
|
||||
}
|
||||
|
||||
reader.SetTimeOut(300) /* 5 minutes */
|
||||
v2net.ReadFrom(reader) // Just in case of anything left in the socket
|
||||
reader.SetTimeOut(300) /* 5 minutes */
|
||||
v2net.ReadFrom(reader, 1) // Just in case of anything left in the socket
|
||||
// The TCP connection closes after this method returns. We need to wait until
|
||||
// the client closes it.
|
||||
// TODO: get notified from UDP part
|
||||
@@ -215,7 +215,7 @@ func (server *SocksServer) handleSocks4(reader io.Reader, writer io.Writer, auth
|
||||
}
|
||||
|
||||
dest := v2net.NewTCPDestination(v2net.IPAddress(auth.IP[:], auth.Port))
|
||||
data, err := v2net.ReadFrom(reader)
|
||||
data, err := v2net.ReadFrom(reader, 4)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ func handleResponse(conn net.Conn, request *protocol.VMessRequest, output chan<-
|
||||
return
|
||||
}
|
||||
|
||||
buffer, err := v2net.ReadFrom(decryptResponseReader)
|
||||
buffer, err := v2net.ReadFrom(decryptResponseReader, 4)
|
||||
if err != nil {
|
||||
log.Error("VMessOut: Failed to read VMess response (%d bytes): %v", len(buffer), err)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user