Tue, 27 Feb 2018 15:47:44 -0800 debugcommands: add debugserve command
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 27 Feb 2018 15:47:44 -0800] rev 36556
debugcommands: add debugserve command `hg serve --stdio` requires the exact command argument form `hg -R <path> serve --stdio` for security reasons. An upcoming commit will need to start an SSH protocol server process with custom settings. This commit creates a `hg debugserve` command for starting servers with custom options. There are no security restrictions and we can add options here that aren't appropriate for built-in commands. We currently only support starting an SSH protocol server using the process's stdio file descriptors. The server supports logging its I/O activity to a file descriptor number passed as a command argument. Differential Revision: https://phab.mercurial-scm.org/D2464
Sun, 25 Feb 2018 11:16:09 -0800 wireprotoserver: support logging SSH server I/O to a file descriptor
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 25 Feb 2018 11:16:09 -0800] rev 36555
wireprotoserver: support logging SSH server I/O to a file descriptor We will soon introduce a debug command and tests for low-level I/O behavior of the SSH wire protocol. To facilitate this, we need to instrument the SSH server so it can log its I/O as events occur. We teach the SSH server to convert its stdout and stderr file objects into file object proxies. We configure these proxies to log to a file descriptor whose file number is specified via a config option. The idea is to have a future debug command start the SSH server process with access to an extra file descriptor that can be used by the server process to log I/O. Monitoring only the write I/O will be more robust than monitoring both writes and reads from the client process because read operations are not deterministic. This will matter for tests that capture raw I/O activity. Differential Revision: https://phab.mercurial-scm.org/D2463
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -2 +2 +10 +30 +100 +300 +1000 +3000 +10000 tip