What's Changed
Security
- Bitwarden session key now uses SecretString — session key was stored as plain
Stringin memory without zeroization; migrated toSecretStringwithexpose_secret()only at CLI invocation point - Config files written with 0600 permissions — connection data (hostnames, usernames, port forwards) was world-readable on multi-user systems; config directory now created with 0700
- SSH monitoring host key verification — removed unconditional
StrictHostKeyChecking=no; now usesaccept-newby default (accepts first-seen keys, rejects changed keys) - Session log sanitization active by default — built-in sensitive patterns (password prompts, API keys, tokens) were defined but never wired into the sanitizer; now active in
SanitizeConfig::default() - Flatpak device permissions scoped — replaced
--device=allwith--device=serialin both Flatpak manifests; previously granted access to all device nodes when only serial ports are needed - Monitoring password uses SecretString —
ssh_exec_factorypassword parameter migrated from plainStringtoSecretStringwith zeroization;expose_secret()used only atSSHPASSenv var injection point - RDP TLS certificate policy documented —
establish_connectionnow documents that IronRDP does not validate server certificates (standard for RDP self-signed certs); addedtracing::warn!on each connection
Fixed
- Encrypted document format ambiguity — legacy salt byte could be misinterpreted as encryption strength byte (~1.2% chance); introduced V2 magic header
RCDB_EN2for unambiguous format detection
Added
- Monitoring: remote host private IP — monitoring bar now shows the primary private IP address in the system info section; hovering shows hostname, all IPv4 and IPv6 addresses grouped separately
- Monitoring: live uptime counter — uptime in the system info tooltip now updates on every metrics polling tick instead of remaining static until the next full system info refresh
- Monitoring: stopped indication — when the metrics collector stops (3 consecutive failures), the monitoring bar dims to 50% opacity, shows a warning icon, and the tooltip displays "⚠ Monitoring stopped"
- Monitoring: all mount points — disk section now shows root filesystem in the level bar and all mounted real filesystems in the tooltip (mount point, used/total, percentage); virtual filesystems (tmpfs, devtmpfs, squashfs, overlay) and snap loop mounts are filtered out
Removed
- Dead
read_import_file_async— unused async import helper removed fromrustconn-core/src/import/traits.rs
Installation
Debian/Ubuntu
sudo dpkg -i rustconn_0.9.11_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora
sudo dnf install rustconn-0.9.11-1.fc41.x86_64.rpmAppImage
chmod +x RustConn-0.9.11-x86_64.AppImage
./RustConn-0.9.11-x86_64.AppImageopenSUSE (OBS)
Packages available at: https://build.opensuse.org/package/show/home:totoshko88:rustconn/rustconn
# Tumbleweed
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Tumbleweed/ rustconn
sudo zypper ref
sudo zypper in rustconn
# Leap 16.0
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/16.0/ rustconn
sudo zypper ref
sudo zypper in rustconn