From 96a6962b3f7207402ff390055ba48cee8db76eb3 Mon Sep 17 00:00:00 2001 From: wwqgtxx Date: Sat, 11 Apr 2026 01:21:15 +0800 Subject: [PATCH] fix: quic underlay packetConn maybe not closed in masque --- adapter/outbound/masque.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/adapter/outbound/masque.go b/adapter/outbound/masque.go index 5f6d8b56..065d21b0 100644 --- a/adapter/outbound/masque.go +++ b/adapter/outbound/masque.go @@ -268,9 +268,12 @@ func (w *Masque) run(ctx context.Context) error { return err } - var quicConn *quic.Conn - quicConn, err = quic.Dial(ctx, pc, udpAddr, w.tlsConfig, w.quicConfig) + transport := quic.Transport{Conn: pc} + transport.SetCreatedConn(true) // auto close conn + transport.SetSingleUse(true) // auto close transport + quicConn, err := transport.Dial(ctx, udpAddr, w.tlsConfig, w.quicConfig) if err != nil { + _ = pc.Close() return err }