XTLS Vision inbound: Use user-sent VLESS UUID for NewTrafficState()

Fixes https://github.com/XTLS/Xray-core/pull/5009#issuecomment-3194523018
This commit is contained in:
RPRX
2025-08-17 18:13:56 +00:00
parent 337b4b814e
commit 5464862ee6
2 changed files with 13 additions and 13 deletions

View File

@@ -217,7 +217,7 @@ func (h *Handler) Process(ctx context.Context, network net.Network, connection s
Buffer: buf.MultiBuffer{first},
}
var vlessRoute byte
var userSentID []byte // not MemoryAccount.ID
var request *protocol.RequestHeader
var requestAddons *encoding.Addons
var err error
@@ -228,7 +228,7 @@ func (h *Handler) Process(ctx context.Context, network net.Network, connection s
if isfb && firstLen < 18 {
err = errors.New("fallback directly")
} else {
vlessRoute, request, requestAddons, isfb, err = encoding.DecodeRequestHeader(isfb, first, reader, h.validator)
userSentID, request, requestAddons, isfb, err = encoding.DecodeRequestHeader(isfb, first, reader, h.validator)
}
if err != nil {
@@ -456,7 +456,7 @@ func (h *Handler) Process(ctx context.Context, network net.Network, connection s
}
inbound.Name = "vless"
inbound.User = request.User
inbound.VlessRoute = net.Port(vlessRoute)
inbound.VlessRoute = net.Port(userSentID[15])
account := request.User.Account.(*vless.MemoryAccount)
@@ -532,7 +532,7 @@ func (h *Handler) Process(ctx context.Context, network net.Network, connection s
serverReader := link.Reader // .(*pipe.Reader)
serverWriter := link.Writer // .(*pipe.Writer)
trafficState := proxy.NewTrafficState(account.ID.Bytes())
trafficState := proxy.NewTrafficState(userSentID)
postRequest := func() error {
defer timer.SetTimeout(sessionPolicy.Timeouts.DownlinkOnly)