From eacdda3c93184043a98aa1841947ad4d4f6f7c61 Mon Sep 17 00:00:00 2001 From: yuhan6665 <1588741+yuhan6665@users.noreply.github.com> Date: Sun, 24 Dec 2023 21:07:56 -0500 Subject: [PATCH] Fix connecting to quic outbound with domain address --- transport/internet/quic/dialer.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/transport/internet/quic/dialer.go b/transport/internet/quic/dialer.go index c6bc08aa..7c8122b6 100644 --- a/transport/internet/quic/dialer.go +++ b/transport/internet/quic/dialer.go @@ -208,12 +208,21 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me IP: dest.Address.IP(), Port: int(dest.Port), } - } else { - addr, err := net.ResolveUDPAddr("udp", dest.NetAddr()) - if err != nil { - return nil, err + } else { + dialerIp := internet.DestIpAddress() + if dialerIp != nil { + destAddr = &net.UDPAddr{ + IP: dialerIp, + Port: int(dest.Port), + } + newError("quic Dial use dialer dest addr: ", destAddr).WriteToLog() + } else { + addr, err := net.ResolveUDPAddr("udp", dest.NetAddr()) + if err != nil { + return nil, err + } + destAddr = addr } - destAddr = addr } config := streamSettings.ProtocolSettings.(*Config)