From 3820401678737eea52963630635928fc765205cb Mon Sep 17 00:00:00 2001 From: "rui.zheng" Date: Tue, 7 Jul 2015 18:10:05 +0800 Subject: [PATCH] close conn properly --- socks5.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/socks5.go b/socks5.go index 8d3beee..4a30b29 100644 --- a/socks5.go +++ b/socks5.go @@ -206,17 +206,18 @@ func serveSocks5(conn net.Conn) { log.Println("bind:", addr) rep := gosocks5.NewReply(gosocks5.Succeeded, addr) if err := rep.Write(conn); err != nil { + log.Println(err) return } tconn, err := l.AcceptTCP() + l.Close() // only accept one peer if err != nil { log.Println("accept:", err) gosocks5.NewReply(gosocks5.Failure, nil).Write(conn) return } defer tconn.Close() - l.Close() addr = ToSocksAddr(tconn.RemoteAddr()) log.Println("accept peer:", addr.String())