refresh timeout when new udp and fix log
This commit is contained in:
@@ -148,6 +148,7 @@ func (d *VirtualTun) TCPHandle(s *socks5.Server, c *net.TCPConn, r *socks5.Reque
|
|||||||
log.Println(err)
|
log.Println(err)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
d.natEntryToMappedPort.Set(srcAddr, entry, 0)
|
||||||
d1 := socks5.NewDatagram(a, addr, port, b[0:n])
|
d1 := socks5.NewDatagram(a, addr, port, b[0:n])
|
||||||
if _, err := s.UDPConn.WriteToUDP(d1.Bytes(), caddr); err != nil {
|
if _, err := s.UDPConn.WriteToUDP(d1.Bytes(), caddr); err != nil {
|
||||||
break
|
break
|
||||||
@@ -156,7 +157,7 @@ func (d *VirtualTun) TCPHandle(s *socks5.Server, c *net.TCPConn, r *socks5.Reque
|
|||||||
_ = conn.Close()
|
_ = conn.Close()
|
||||||
d.natEntryToMappedPort.Delete(srcAddr)
|
d.natEntryToMappedPort.Delete(srcAddr)
|
||||||
}()
|
}()
|
||||||
fmt.Printf("%s udp mapped to port %d", srcAddr, mappedPort)
|
fmt.Printf("%s udp mapped to port %d\n", srcAddr, mappedPort)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return socks5.ErrUnsupportCmd
|
return socks5.ErrUnsupportCmd
|
||||||
@@ -169,6 +170,8 @@ func (d *VirtualTun) UDPHandle(server *socks5.Server, addr *net.UDPAddr, datagra
|
|||||||
return fmt.Errorf("this udp address %s is not associated", srcAddr)
|
return fmt.Errorf("this udp address %s is not associated", srcAddr)
|
||||||
}
|
}
|
||||||
natEntry := entry.(*NatEntry)
|
natEntry := entry.(*NatEntry)
|
||||||
|
// refresh timeout
|
||||||
|
d.natEntryToMappedPort.Set(srcAddr, entry, 0)
|
||||||
raddr, err := net.ResolveUDPAddr("udp", datagram.Address())
|
raddr, err := net.ResolveUDPAddr("udp", datagram.Address())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
Reference in New Issue
Block a user