92564a0c8c
- Use local readTimeout copy in HandleOptions instead of mutating shared Sniffer.ReadTimeout, eliminating a data race under concurrent calls - Close both connections in sniffingWebsocketFrame when one direction errors, preventing indefinite goroutine blockage - Add bounds check on PeerCertificates before indexing in terminateTLS - Discard non-fatal ParseServerHello error instead of returning it after successful xnet.Pipe - Log res.Write errors in bypass/bad-gateway/connect-failure paths - Add doc comments to all 15 exported symbols