Fix: vmess udp crash

This commit is contained in:
Dreamacro
2020-02-17 17:34:19 +08:00
parent e9032c55fa
commit 7b48138ad0
9 changed files with 81 additions and 43 deletions

View File

@ -190,16 +190,7 @@ func handleUDPConn(packet *inbound.PacketAdapter) {
key := packet.LocalAddr().String()
pc := natTable.Get(key)
if pc != nil {
if !metadata.Resolved() {
ip, err := resolver.ResolveIP(metadata.Host)
if err != nil {
log.Warnln("[UDP] Resolve %s failed: %s, %#v", metadata.Host, err.Error(), metadata)
return
}
metadata.DstIP = ip
}
handleUDPToRemote(packet, pc, metadata.UDPAddr())
handleUDPToRemote(packet, pc, metadata)
return
}
@ -246,14 +237,7 @@ func handleUDPConn(packet *inbound.PacketAdapter) {
wg.Wait()
pc := natTable.Get(key)
if pc != nil {
if !metadata.Resolved() {
ip, err := resolver.ResolveIP(metadata.Host)
if err != nil {
return
}
metadata.DstIP = ip
}
handleUDPToRemote(packet, pc, metadata.UDPAddr())
handleUDPToRemote(packet, pc, metadata)
}
}()
}