From 56268e4ae65ad20cdaaa435477aaa9202faff489 Mon Sep 17 00:00:00 2001 From: Shengjing Zhu Date: Tue, 26 Jul 2022 18:48:04 +0800 Subject: [PATCH] fix: unmap ipv4-mapped ipv6 address Closes: #4 --- conf.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conf.go b/conf.go index 5c7f661..d8c64f0 100644 --- a/conf.go +++ b/conf.go @@ -112,6 +112,8 @@ func (p *peer) resolveHost() (netip.Addr, error) { return netip.Addr{}, fmt.Errorf("resolve ip for %s: %w", p.host, err) } for _, ip := range ips { + // netstack doesn't seem to understand IPv4-mapped IPv6 addresses. + ip = ip.Unmap() conn, err := net.DialUDP("udp", nil, net.UDPAddrFromAddrPort(netip.AddrPortFrom(ip, p.port))) if err == nil { conn.Close()