Skip to content

v0.22.11

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Sep 00:02

What's Changed

Fixed

  • Saving a credential to a YubiKey Challenge-Response KeePass database now works (follow-up to issue #350) — 0.22.10 threaded the YubiKey slot through the unlock/read path only, so opening a CR-secured KDBX worked but writing to one still failed: saving an entry reported "KeePassXC did not accept this password", and nested groups were never created.
    The write path in secret/status.rs hand-built its keepassxc-cli argv with only --no-password/--key-file and never -y <slot>, so every add, mkdir, rm and the show/ls probes tried to unlock the database without the second factor — the add failed authentication, and because the parent-group mkdir calls (whose errors are swallowed by design) failed the same way, the nested groups silently never appeared. All eight write-path functions (save_password_to_kdbx, ensure_rustconn_group, ensure_parent_groups, delete_kdbx_entry, delete_entry_from_kdbx, rename_entry_in_kdbx, get_username_from_kdbx, get_url_from_kdbx) now thread the configured slot and compose the unlock flags through the same push_unlock_args helper the read path uses, so a write unlocks with exactly the factors a read does. A related read gap was found and fixed in the same pass: get_password_from_kdbx_exact — the reader used for a custom KeePass entry path (not the default RustConn/-prefixed lookup, which was already fixed in 0.22.10) — also omitted the slot, so reading a credential from a custom path on a CR-protected database failed too; it now threads the slot as well. Writes and CR reads that unlock via -y get the longer 30 s touch budget (matching the default read path) instead of the short write budget, and the "did not accept this password" error hint now includes -y <slot> in the reproduction command it prints. Slot composition on the add argv is covered by new unit tests in secret/status.rs.

Dependencies

  • FreeRDP (Flatpak) 3.32.0 → 3.32.1 — a security and regression release — 3.32.1 fixes six further security advisories and a regression from the 3.32.0 hardening that rejected fragmented static-channel PDUs, which broke copy and paste of larger clipboard content in the external FreeRDP client. Bumped in the local Flatpak and Flathub manifests together, with the upstream-published sha256.

Installation

Flatpak (Recommended)

flatpak install flathub io.github.totoshko88.RustConn

Snap

sudo snap install rustconn

Debian/Ubuntu (.deb from this release)

sudo dpkg -i rustconn_0.22.11_amd64.deb
sudo apt-get install -f  # Install dependencies if needed

Fedora (.rpm from this release)

sudo dnf install rustconn-0.22.11-1.fc44.x86_64.rpm

AppImage

chmod +x RustConn-0.22.11-x86_64.AppImage
./RustConn-0.22.11-x86_64.AppImage

macOS (Homebrew)

brew tap totoshko88/rustconn
brew install rustconn
open $(brew --prefix)/opt/rustconn/RustConn.app

All 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 rustconn

Arch Linux (AUR)

yay -S rustconn

FreeBSD (Ports)

pkg install rustconn

Full installation guide: https://github.com/totoshko88/RustConn/blob/main/docs/INSTALL.md