From c25a38898fcb4aac9c739c96bdec1a6b7d8916f1 Mon Sep 17 00:00:00 2001 From: wwqgtxx Date: Mon, 3 Nov 2025 10:12:24 +0800 Subject: [PATCH] chore: share append chains logic --- adapter/outbound/base.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/adapter/outbound/base.go b/adapter/outbound/base.go index 04a0fa98..93f6e142 100644 --- a/adapter/outbound/base.go +++ b/adapter/outbound/base.go @@ -263,7 +263,9 @@ func NewConn(c net.Conn, a C.ProxyAdapter) C.Conn { if _, ok := c.(syscall.Conn); !ok { // exclusion system conn like *net.TCPConn c = N.NewDeadlineConn(c) // most conn from outbound can't handle readDeadline correctly } - return &conn{N.NewExtendedConn(c), []string{a.Name()}, a.Addr()} + cc := &conn{N.NewExtendedConn(c), nil, a.Addr()} + cc.AppendToChains(a) + return cc } type packetConn struct { @@ -320,7 +322,9 @@ func newPacketConn(pc net.PacketConn, a ProxyAdapter) C.PacketConn { if _, ok := pc.(syscall.Conn); !ok { // exclusion system conn like *net.UDPConn epc = N.NewDeadlineEnhancePacketConn(epc) // most conn from outbound can't handle readDeadline correctly } - return &packetConn{epc, []string{a.Name()}, a.Name(), utils.NewUUIDV4().String(), a.Addr(), a.ResolveUDP} + cpc := &packetConn{epc, nil, a.Name(), utils.NewUUIDV4().String(), a.Addr(), a.ResolveUDP} + cpc.AppendToChains(a) + return cpc } type AddRef interface {