Skip to content

Register isolated OpenSSH clients in a-Shell mini - #1126

Open
demrom wants to merge 20 commits into
holzschu:masterfrom
demrom:feature/openssh-client-registration
Open

demrom wants to merge 20 commits into
holzschu:masterfrom
demrom:feature/openssh-client-registration

Conversation

@demrom

@demrom demrom commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

Register the OpenSSH 10.6 client frameworks as ssh, scp, sftp and ssh-keygen in a-Shell mini, and opt those commands into isolated extension workers. The mini target embeds the four XCFrameworks through its existing framework phase. Other app targets retain their existing client catalog and embedding. Startup enables worker selection only for targets declaring a positive ShellWorkerCount.

This builds on #1089 and the stock OpenSSH runtime update holzschu/ios_system#203. A composed arm64 Simulator mini app passed the client fixture twice, including after a cwd and locale change: Ed25519 generation, strict key login, SCP/SFTP byte comparisons, multiple-source SCP with a missing first source, and a following login.

Default Documents/.ssh config, identity and strict known_hosts lookup passed without explicit path options; the maintained fixture also passed with a separate SSH_HOME.

Native iPhone terminal entry ran the registered ssh, ssh-keygen, scp, sftp and sshd commands through the committed acceptance fixtures. Registration of sshd belongs to the server companion.

demrom and others added 20 commits October 18, 2026 19:33
…Settings

The host runs min(worker_limit setting, hw.physicalcpu, bundled ShellWorkerCount) workers at once and returns ENOSPC beyond that. ShellWorkers/generate-targets.sh (POSIX sh and awk, like the other scripts of the repo) keeps the extension targets and the Settings list in line with ShellWorkerCount. The new Settings strings are localized in the existing Root.strings files. tests/worker-pool.m gains a limit check.
@demrom
demrom marked this pull request as ready for review October 24, 2026 02:57
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