No description
Auth flow rewritten to be fully server-driven: no pre-connect password dialog. TCP + KEX + host key verification happen first; password prompt only appears when the server actually asks via keyboard-interactive or the new prompted-password fallback (for servers that only accept the "password" SSH method). Up to 3 password attempts per connection, matching OpenSSH's NumberOfPasswordPrompts default. "Remember password" checkbox now functional: AuthPromptResult threads the remember flag through the callback chain; SSHSession stashes the typed password in pendingRememberPassword; TerminalService persists it to CredentialStore only after session.connect() succeeds — wrong passwords are never saved. Removed dead pre-connect dialog code: PasswordDialog composable, PasswordResult, TerminalDialogRequest.PasswordPrompt, and passwordPromptHandler. Added docs/LEGACY_TEST_LAB.md: self-contained 2100-line guide for building a dedicated server with 56 historical/modern Unix systems for terminal parser conformance testing (Docker, QEMU/KVM, SIMH, polarhome, IBM PowerVS). Includes all Dockerfiles, compose.yml, SIMH configs, systemd units, and helper scripts inline. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| app | ||
| docs | ||
| gradle | ||
| lib-ssh | ||
| lib-terminal-keyboard | ||
| lib-terminal-view | ||
| lib-vault-crypto | ||
| scripts | ||
| .gitignore | ||
| Audit.md | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| SecurityAudit.md | ||
| settings.gradle.kts | ||