fix: unmap ipv4-mapped ipv6 address

Closes: #4
master
Shengjing Zhu 2022-07-26 18:48:04 +08:00
parent 45f802ec6f
commit 56268e4ae6
1 changed files with 2 additions and 0 deletions

View File

@ -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()