From 47d5b72b929a7404e7ae6d8d2aee9e7fc9d38fc8 Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Mon, 6 Jan 2020 19:34:26 +0800 Subject: [PATCH] tuntap: ignore read error --- tuntap.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tuntap.go b/tuntap.go index 927a246..7f18b2c 100644 --- a/tuntap.go +++ b/tuntap.go @@ -12,6 +12,8 @@ import ( "github.com/go-log/log" "github.com/shadowsocks/go-shadowsocks2/core" + "github.com/shadowsocks/go-shadowsocks2/shadowaead" + "github.com/shadowsocks/go-shadowsocks2/shadowstream" "github.com/songgao/water" "github.com/songgao/water/waterutil" "github.com/xtaci/tcpraw" @@ -210,7 +212,8 @@ func (h *tunHandler) transportTun(tun net.Conn, conn net.PacketConn, raddr net.A defer mPool.Put(b) n, addr, err := conn.ReadFrom(b) - if err != nil { + if err != nil && + err != shadowaead.ErrShortPacket && err != shadowstream.ErrShortPacket { return err } @@ -537,7 +540,8 @@ func (h *tapHandler) transportTap(tap net.Conn, conn net.PacketConn, raddr net.A defer mPool.Put(b) n, addr, err := conn.ReadFrom(b) - if err != nil { + if err != nil && + err != shadowaead.ErrShortPacket && err != shadowstream.ErrShortPacket { return err }