wolfssh/apps/wolfsshd
Yosuke Shimizu 4dc6e86cbb wolfsshd: bound the shell child reap and flush the held backlog
- The child's stdin pipe and the pty master are closed before the
  reap. The reap polls waitpid() with WNOHANG for
  WOLFSSHD_CHILD_REAP_TRIES x WOLFSSHD_CHILD_REAP_WAIT_US, then
  sends SIGKILL; a failed kill() is logged and ends the wait.
- ChildSig is installed before forkpty() instead of after it.
- An EIO read from the pty master ends the child's output
  instead of the loop.
- A held backlog is sent with SHELL_FlushOut() before the pipe
  drain; the drain is skipped when the backlog is not sent.
- New sshd_channel_close_test.sh (paramiko) closes the channel
  while output is held, for an exec command and a pty shell, and
  checks that the command and the connection both end; it also
  checks exit status 3 from an exec and an interactive shell.
  run_all runs it.
- sshd-test.yml and code-coverage.yml install python3-paramiko
  through install-apt-deps, and the ubuntu-24.04-tests bundle
  lists it.
2026-10-09 10:30:29 -07:00
..
test wolfsshd: bound the shell child reap and flush the held backlog 2026-10-09 10:30:29 -07:00
auth.c wolfsshd: complete the Windows user profile fallback 2026-09-09 22:06:06 -07:00
auth.h fix for flags handling, ocsp case, macro guards, unused variable, changed default from MY to required to be set 2026-09-05 01:32:02 -07:00
configuration.c wolfsshd: warn on unimplemented config options 2026-09-22 14:09:18 -05:00
configuration.h fix for flags handling, ocsp case, macro guards, unused variable, changed default from MY to required to be set 2026-09-05 01:32:02 -07:00
include.am Mitigate user enumeration timing oracle using dummy hash cache 2026-08-05 12:26:46 -07:00
wolfsshd.c wolfsshd: bound the shell child reap and flush the held backlog 2026-10-09 10:30:29 -07:00