diff --git a/app/tun/handler_tcp.go b/app/tun/handler_tcp.go index 06ed0f26e..53db9eaa3 100644 --- a/app/tun/handler_tcp.go +++ b/app/tun/handler_tcp.go @@ -55,19 +55,6 @@ func HandleTCP(handle func(tun_net.TCPConn)) StackOption { // TODO: set sockopt - // tcpHandler := &TCPHandler{ - // ctx: ctx, - // dispatcher: dispatcher, - // policyManager: policyManager, - // config: config, - // stack: s, - // } - - // if err := tcpHandler.Handle(gonet.NewTCPConn(wg, linkedEndpoint)); err != nil { - // // TODO: log - // // return newError("failed to handle tcp connection").Base(err) - // } - tcpConn := &tcpConn{ TCPConn: gonet.NewTCPConn(wg, linkedEndpoint), id: r.ID(), @@ -103,7 +90,7 @@ func (h *TCPHandler) Handle(conn tun_net.TCPConn) error { dest := net.TCPDestination(tun_net.AddressFromTCPIPAddr(id.LocalAddress), net.Port(id.LocalPort)) src := net.TCPDestination(tun_net.AddressFromTCPIPAddr(id.RemoteAddress), net.Port(id.RemotePort)) ctx = log.ContextWithAccessMessage(ctx, &log.AccessMessage{ - From: src, // Parse IpAddr to Destination + From: src, To: dest, Status: log.AccessAccepted, Reason: "", diff --git a/app/tun/handler_udp.go b/app/tun/handler_udp.go index 8ddef7d17..5dffb0143 100644 --- a/app/tun/handler_udp.go +++ b/app/tun/handler_udp.go @@ -75,7 +75,6 @@ func (h *UDPHandler) Handle(conn tun_net.UDPConn) error { defer conn.Close() id := conn.ID() ctx := session.ContextWithInbound(h.ctx, &session.Inbound{Tag: h.config.Tag}) - packetConn := conn.(net.PacketConn) udpDispatcherConstructor := udp.NewSplitDispatcher switch h.config.PacketEncoding { @@ -90,7 +89,7 @@ func (h *UDPHandler) Handle(conn tun_net.UDPConn) error { src := net.UDPDestination(tun_net.AddressFromTCPIPAddr(id.RemoteAddress), net.Port(id.RemotePort)) udpServer := udpDispatcherConstructor(h.dispatcher, func(ctx context.Context, packet *udp_proto.Packet) { - if _, err := packetConn.WriteTo(packet.Payload.Bytes(), &net.UDPAddr{ + if _, err := conn.WriteTo(packet.Payload.Bytes(), &net.UDPAddr{ IP: src.Address.IP(), Port: int(src.Port), }); err != nil { @@ -104,7 +103,7 @@ func (h *UDPHandler) Handle(conn tun_net.UDPConn) error { return nil default: var buffer [2048]byte - n, _, err := packetConn.ReadFrom(buffer[:]) + n, _, err := conn.ReadFrom(buffer[:]) if err != nil { return newError("failed to read UDP packet").Base(err) } diff --git a/app/tun/net/net.go b/app/tun/net/net.go index cf3366dad..8f091d472 100644 --- a/app/tun/net/net.go +++ b/app/tun/net/net.go @@ -15,6 +15,7 @@ type TCPConn interface { type UDPConn interface { net.Conn + net.PacketConn ID() *stack.TransportEndpointID }