Add size parameter to transport.ReadFrom

This commit is contained in:
V2Ray
2015-10-07 21:17:11 +02:00
parent 3ba9ee73b9
commit e7daa4c21c
5 changed files with 103 additions and 49 deletions

View File

@@ -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
}