Fix data leak between mux.cool connections (#3718)

Fix #116
This commit is contained in:
mmmray 2024-08-25 21:02:01 +02:00 committed by GitHub
parent c0c23fdfeb
commit 3dd3bf94d4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 144 additions and 1 deletions

View file

@ -118,6 +118,9 @@ func (w *ServerWorker) handleStatusKeepAlive(meta *FrameMetadata, reader *buf.Bu
}
func (w *ServerWorker) handleStatusNew(ctx context.Context, meta *FrameMetadata, reader *buf.BufferedReader) error {
// deep-clone outbounds because it is going to be mutated concurrently
// (Target and OriginalTarget)
ctx = session.ContextCloneOutbounds(ctx)
errors.LogInfo(ctx, "received request for ", meta.Target)
{
msg := &log.AccessMessage{
@ -170,7 +173,7 @@ func (w *ServerWorker) handleStatusNew(ctx context.Context, meta *FrameMetadata,
b.Release()
mb = nil
}
errors.LogInfoInner(ctx, err,"XUDP hit ", meta.GlobalID)
errors.LogInfoInner(ctx, err, "XUDP hit ", meta.GlobalID)
}
if mb != nil {
ctx = session.ContextWithTimeoutOnly(ctx, true)