mirror of
https://github.com/gravitational/teleport.git
synced 2026-11-02 06:08:23 +08:00
* Fix web ssh session with proxy recording mode The agent was not being propagated when establishing an ssh session via the web which resulted in the error described in #18850. Providing the agent was straightforward, however, due to the changes from #18656 when using the forward server, as is required with proxy recording mode, the ssh connection is now being performed directly over a `net.Pipe`. Due to the synchronous nature of `net.Pipe` this causes a deadlock when performing the ssh handshake. To mitigate the deadlocks, `DualPipeNetConn` was changed to leverage `syscall.Socketpair` instead of `net.Pipe`. `TestTerminal` now has two cases, one for node recording mode and another for proxy recording mode. In order for the proxy recording mode test to pass the fake clock used in the test needed to be properly propagated to the `ssh.CertChecker` and `forward.ServerConfig`. Fixes #18850