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>
bradfitz/key_rotation_prep
Maisem Ali 3 years ago committed by Maisem Ali
parent 91a8cdc84b
commit 2fb087891b

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

Loading…
Cancel
Save