From 88099ee72da9d343328df0918c09b5d3880989f9 Mon Sep 17 00:00:00 2001 From: Toby Date: Sat, 13 Aug 2022 11:39:40 -0700 Subject: [PATCH] fix: resolve_preference should only assign each ip once --- pkg/transport/resolve.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/transport/resolve.go b/pkg/transport/resolve.go index ca3cc3e..dc7c76e 100644 --- a/pkg/transport/resolve.go +++ b/pkg/transport/resolve.go @@ -39,9 +39,9 @@ func resolveIPAddrWithPreference(host string, pref ResolvePreference) (*net.IPAd var ip4, ip6 *net.IPAddr for i := range ips { ip := &ips[i] - if ip.IP.To4() != nil { + if ip4 == nil && ip.IP.To4() != nil { ip4 = ip - } else { + } else if ip6 == nil && ip.IP.To4() == nil { ip6 = ip } if ip4 != nil && ip6 != nil {