This commit is contained in:
Fangliding
2026-09-26 16:54:31 +08:00
parent fe1c2f9bb8
commit 2f2fe54d0f
5 changed files with 10 additions and 11 deletions
+1 -3
View File
@@ -431,8 +431,6 @@ func (i *MultiUserInbound) processUDP(ctx context.Context, conn stat.Connection,
}
payload := bodyPlain[offset+addrLen:]
payloadCopy := make([]byte, len(payload))
copy(payloadCopy, payload)
entry, ok := udpConns.Load(sessionID)
if !ok {
@@ -496,7 +494,7 @@ func (i *MultiUserInbound) processUDP(ctx context.Context, conn stat.Connection,
entry.timer.Update()
pBuf := buf.New()
pBuf.Write(payloadCopy)
pBuf.Write(payload)
_ = entry.link.Writer.WriteMultiBuffer(buf.MultiBuffer{pBuf})
}
}
+1 -2
View File
@@ -4,14 +4,13 @@ import (
"context"
"encoding/base64"
"encoding/binary"
"errors"
gonet "net"
"sync"
"sync/atomic"
"testing"
"time"
"errors"
"github.com/xtls/xray-core/common"
"github.com/xtls/xray-core/common/buf"
"github.com/xtls/xray-core/common/net"
+1 -2
View File
@@ -25,8 +25,7 @@ type SlidingWindow struct {
}
func (f *SlidingWindow) Reset() {
f.last = 0
f.ring[0] = 0
*f = SlidingWindow{}
}
func (f *SlidingWindow) Check(counter uint64) bool {
+4 -4
View File
@@ -6,7 +6,7 @@ import (
"encoding/binary"
"io"
"math"
mrand "math/rand"
mrand "math/rand/v2"
"time"
"github.com/xtls/xray-core/common/buf"
@@ -169,7 +169,7 @@ func (r *StreamReader) Read(p []byte) (int, error) {
payloadLen := int(binary.BigEndian.Uint16(decryptedLen))
if payloadLen == 0 {
return 0, nil
return 0, ErrInvalidRequest
}
chunkEnd := payloadLen + AEADTagSize
@@ -213,7 +213,7 @@ func (r *StreamReader) ReadMultiBuffer() (buf.MultiBuffer, error) {
payloadLen := int(binary.BigEndian.Uint16(decryptedLen))
if payloadLen == 0 {
return nil, nil
return nil, ErrInvalidRequest
}
chunkEnd := payloadLen + AEADTagSize
@@ -375,7 +375,7 @@ func WriteTCPRequest(w io.Writer, method *CipherMethod, pskList [][]byte, dest n
payloadLen := len(payload)
var paddingLen int
if payloadLen < MaxPaddingLength {
paddingLen = mrand.Intn(MaxPaddingLength-payloadLen) + 1
paddingLen = mrand.IntN(MaxPaddingLength-payloadLen) + 1
}
addrPortLen := AddrPortLength(dest)
varHeaderLen := addrPortLen + 2 + paddingLen + payloadLen