refactor: add additional [2]byte for packet length (#554)

This commit is contained in:
naison
2025-04-21 21:51:01 +08:00
committed by GitHub
parent dd80717d8d
commit a3556a263d
10 changed files with 56 additions and 75 deletions

View File

@@ -68,7 +68,7 @@ func (c *gvisorUDPConnOverTCP) Read(b []byte) (int, error) {
}
func (c *gvisorUDPConnOverTCP) Write(b []byte) (int, error) {
packet := newDatagramPacket(b)
packet := newDatagramPacket(b, len(b)-2)
if err := packet.Write(c.Conn); err != nil {
return 0, err
}
@@ -114,7 +114,7 @@ func handle(ctx context.Context, tcpConn net.Conn, udpConn *net.UDPConn) {
errChan <- err
return
}
datagram, err := readDatagramPacket(tcpConn, buf[:])
datagram, err := readDatagramPacket(tcpConn, buf)
if err != nil {
plog.G(ctx).Errorf("[TUN-UDP] %s -> %s: %v", tcpConn.RemoteAddr(), udpConn.LocalAddr(), err)
errChan <- err
@@ -172,7 +172,7 @@ func handle(ctx context.Context, tcpConn net.Conn, udpConn *net.UDPConn) {
errChan <- err
return
}
packet := newDatagramPacket(buf[:n])
packet := newDatagramPacket(buf, n)
if err = packet.Write(tcpConn); err != nil {
plog.G(ctx).Errorf("[TUN-UDP] Error: %s <- %s : %s", tcpConn.RemoteAddr(), tcpConn.LocalAddr(), err)
errChan <- err