Commit 38204016 authored by rui.zheng's avatar rui.zheng

close conn properly

parent 4c3a8b37
...@@ -206,17 +206,18 @@ func serveSocks5(conn net.Conn) { ...@@ -206,17 +206,18 @@ func serveSocks5(conn net.Conn) {
log.Println("bind:", addr) log.Println("bind:", addr)
rep := gosocks5.NewReply(gosocks5.Succeeded, addr) rep := gosocks5.NewReply(gosocks5.Succeeded, addr)
if err := rep.Write(conn); err != nil { if err := rep.Write(conn); err != nil {
log.Println(err)
return return
} }
tconn, err := l.AcceptTCP() tconn, err := l.AcceptTCP()
l.Close() // only accept one peer
if err != nil { if err != nil {
log.Println("accept:", err) log.Println("accept:", err)
gosocks5.NewReply(gosocks5.Failure, nil).Write(conn) gosocks5.NewReply(gosocks5.Failure, nil).Write(conn)
return return
} }
defer tconn.Close() defer tconn.Close()
l.Close()
addr = ToSocksAddr(tconn.RemoteAddr()) addr = ToSocksAddr(tconn.RemoteAddr())
log.Println("accept peer:", addr.String()) log.Println("accept peer:", addr.String())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment