What's Changed
Fixed
macOS
- SSH password authentication always failed with "Permission denied" (#175) — on macOS the terminal uses a hand-rolled native PTY (VTE's
spawn_asyncdoes not connect the PTY to the child on the Homebrew build). The spawned child was given the PTY slave as stdin/stdout/stderr but never made it the controlling terminal. Sincesshreads the password from/dev/tty(not stdin) and RustConn disables askpass on macOS (SSH_ASKPASS_REQUIRE=never, #161),sshcould not read the password, tried an empty one three times, and failed withPermission denied (publickey,password). The same affectedsshtyped manually in a Local Shell tab. The child is now placed in a new session viasetsid(2)and claims the slave PTY as its controlling terminal viaTIOCSCTTY, so interactive password prompts work.setsid(2)also supplies the process-group leadership previously set byprocess_group(0), so job control (Ctrl-C) is preserved.
Changed
- New
rustconn-pty-syscrate — the controlling-terminal setup needspre_exec(anunsafeAPI), which conflicts with the workspace-wideunsafe_code = "forbid". Per the project'sM-UNSAFEguideline, the FFI is isolated in a small dedicated crate that exposes a single safeset_controlling_terminal()function with a documented safety contract. The main crates keepunsafe_code = "forbid"untouched.
Dependencies
- Updated
uuid1.23.2 → 1.23.3 - Updated
wasm-bindgen0.2.122 → 0.2.123 and the relatedjs-sys0.3.99 → 0.3.100,web-sys0.3.99 → 0.3.100,wasm-bindgen-futures0.4.72 → 0.4.73 (transitive)
Installation
Flatpak (Recommended)
flatpak install flathub io.github.totoshko88.RustConnSnap
sudo snap install rustconnDebian/Ubuntu (.deb from this release)
sudo dpkg -i rustconn_0.15.12_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (.rpm from this release)
sudo dnf install rustconn-0.15.12-1.fc44.x86_64.rpmAppImage
chmod +x RustConn-0.15.12-x86_64.AppImage
./RustConn-0.15.12-x86_64.AppImagemacOS (Homebrew)
brew tap totoshko88/rustconn
brew install rustconn
open $(brew --prefix)/opt/rustconn/RustConn.appAll dependencies (GTK4, libadwaita, VTE, Adwaita icons) are installed automatically.
Requires macOS 13 (Ventura) or later.
OBS Repositories
Packages available at: https://build.opensuse.org/package/show/home:totoshko88:rustconn/rustconn
# Debian 13 (Trixie)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn
# Ubuntu 24.04 LTS (Noble)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn
# Ubuntu 26.04 LTS (Resolute)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn
# Fedora 44
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_44/home:totoshko88:rustconn.repo
sudo dnf install rustconn
# Fedora 43
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_43/home:totoshko88:rustconn.repo
sudo dnf install rustconn
# openSUSE Tumbleweed
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Tumbleweed/ rustconn
sudo zypper ref && sudo zypper in rustconn
# openSUSE Leap 16.0
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Leap_16.0/ rustconn
sudo zypper ref && sudo zypper in rustconnArch Linux (AUR)
yay -S rustconnFreeBSD (Ports)
pkg install rustconnFull installation guide: https://github.com/totoshko88/RustConn/blob/main/docs/INSTALL.md