fix: unmap 4in6 ip in wireguard

This commit is contained in:
wwqgtxx
2024-03-22 00:33:38 +08:00
parent 284b01ca38
commit 9c08e936f9
2 changed files with 7 additions and 2 deletions

View File

@@ -146,7 +146,12 @@ func NewWireGuard(option WireGuardOption) (*WireGuard, error) {
return address.AddrPort(), nil
}
udpAddr, err := resolveUDPAddrWithPrefer(ctx, "udp", address.String(), outbound.prefer)
return udpAddr.AddrPort(), err
if err != nil {
return netip.AddrPort{}, err
}
// net.ResolveUDPAddr maybe return 4in6 address, so unmap at here
addrPort := udpAddr.AddrPort()
return netip.AddrPortFrom(addrPort.Addr().Unmap(), addrPort.Port()), nil
}
var reserved [3]uint8