net/socks5: always close client connections after serving

Customer reported an issue where the connections were not closing, and
would instead just stay open. This commit makes it so that we close out
the connection regardless of what error we see. I've verified locally
that it fixes the issue, we should add a test for this.

Signed-off-by: Maisem Ali <maisem@tailscale.com>
This commit is contained in:
Maisem Ali 2022-03-08 12:44:23 -08:00 committed by Maisem Ali
parent 91a8cdc84b
commit 2fb087891b

View File

@ -112,11 +112,11 @@ func (s *Server) Serve(l net.Listener) error {
return err
}
go func() {
defer c.Close()
conn := &Conn{clientConn: c, srv: s}
err := conn.Run()
if err != nil {
s.logf("client connection failed: %v", err)
conn.clientConn.Close()
}
}()
}