Skip to content

Commit

Permalink
fix: tun udp with 4in6 ip
Browse files Browse the repository at this point in the history
  • Loading branch information
wwqgtxx committed Feb 13, 2023
1 parent e6d16e4 commit d00d83a
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions tunnel/connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,12 @@ func handleUDPToLocal(packet C.UDPPacket, pc net.PacketConn, key string, oAddr,
}

fromUDPAddr := from.(*net.UDPAddr)
if fAddr.IsValid() {
fromAddr, _ := netip.AddrFromSlice(fromUDPAddr.IP)
fromAddr.Unmap()
if oAddr == fromAddr {
fromUDPAddr.IP = fAddr.AsSlice()
fromUDPAddr = &(*fromUDPAddr) // make a copy
if fromAddr, ok := netip.AddrFromSlice(fromUDPAddr.IP); ok {
if fAddr.IsValid() && (oAddr.Unmap() == fromAddr.Unmap()) {
fromUDPAddr.IP = fAddr.Unmap().AsSlice()
} else {
fromUDPAddr.IP = fromAddr.Unmap().AsSlice()
}
}

Expand Down

0 comments on commit d00d83a

Please sign in to comment.