close conn properly
This commit is contained in:
parent
4c3a8b3791
commit
3820401678
@ -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())
|
||||||
|
Loading…
Reference in New Issue
Block a user