Browse Source

close conn properly

1.x
rui.zheng 11 years ago
parent
commit
3820401678
  1. 3
      socks5.go

3
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())

Loading…
Cancel
Save