Skip to content

Update native SSH clients to OpenSSH 10.6p1 - #203

Open
demrom wants to merge 11 commits into
holzschu:masterfrom
demrom:feature/openssh-10.6-public
Open

demrom wants to merge 11 commits into
holzschu:masterfrom
demrom:feature/openssh-10.6-public

Conversation

@demrom

@demrom demrom commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Update the native SSH clients from OpenSSH 8.5p1 to 10.6p1. The build verifies the portable release archive SHA256 and adapts command streams and child launches to ios_system. Each invocation runs in an isolated extension worker. Missing worker APIs or a full worker pool return status 127. Default client files use the existing app SSH_HOME root, Documents by default, with HOME as a fallback. SSH config ~ expansion uses that same root.

This builds on holzschu/a-shell#1089, #201 and #202. The application foundation provides nested spawn, terminal selection and separate stderr. The registration companion holzschu/a-shell#1126 embeds the four client frameworks; the SSH server is a separate change.

A Simulator app using this client runtime without the host-policy companion passed the full client fixture after a cwd and locale change, multiple-source SCP with a missing first source and a following strict login. Default lookup of a Documents/.ssh host alias, identity and strict known_hosts passed without -F, -i or UserKnownHostsFile. The maintained migration fixture also passed with a separate SSH_HOME. Both migration cases failed before the home-path fix.

SCP returns separate descriptors for its input and output handles, matching the stock caller ownership; allocation failure closes both socket ends before starting a child.

The iPhone ran the committed phone-client and home-migration fixtures with native OpenSSH 10.6p1, including key generation, key-authenticated SSH, SCP and SFTP byte round trips, missing-file status recovery and default SSH_HOME lookup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant