Browse Source

Fix incorrect UDP length in Torjan packet addr

Shelikhoo 2 years ago
parent
commit
9308de4e74
1 changed files with 2 additions and 2 deletions
  1. 2 2
      proxy/trojan/client.go

+ 2 - 2
proxy/trojan/client.go

@@ -92,7 +92,7 @@ func (c *Client) Process(ctx context.Context, link *transport.Link, dialer inter
 			defer timer.SetTimeout(sessionPolicy.Timeouts.DownlinkOnly)
 
 			var buffer [2048]byte
-			_, addr, err := packetConn.ReadFrom(buffer[:])
+			n, addr, err := packetConn.ReadFrom(buffer[:])
 			if err != nil {
 				return newError("failed to read a packet").Base(err)
 			}
@@ -103,7 +103,7 @@ func (c *Client) Process(ctx context.Context, link *transport.Link, dialer inter
 			packetWriter := &PacketWriter{Writer: connWriter, Target: dest}
 
 			// write some request payload to buffer
-			if _, err := packetWriter.WriteTo(buffer[:], addr); err != nil {
+			if _, err := packetWriter.WriteTo(buffer[:n], addr); err != nil {
 				return newError("failed to write a request payload").Base(err)
 			}