Fix: store KWallet passwords via D-Bus (kwallet-query -w never persists)

kwallet-query --write-password returns success but does not create the folder
or persist the secret, so saved host passwords were silently lost and share
enumeration failed with NT_STATUS_LOGON_FAILURE. Write/delete now go through
the kwalletd6 D-Bus API via qdbus6 (open/createFolder/writePassword). Reads
stay on kwallet-query (they work). Also drop smbclient -N (was forcing an
anonymous session) and silence KWallet read stderr. Adds qt6-tools dep.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jaroslav Beneš
2026-07-17 19:00:27 +02:00
parent e6eae24a7f
commit 742d2416d7
3 changed files with 23 additions and 11 deletions
+2 -1
View File
@@ -25,7 +25,8 @@ Install these with your distribution's package manager:
| `mount.cifs` | `cifs-utils` | mount CIFS shares |
| `smbclient` | `smbclient` | list shares on a host |
| `pkexec` | `polkit` | authorize the mount helper |
| `kwallet-query` | `kwallet` (KF6) | store/read passwords in KWallet |
| `kwallet-query` | `kwallet` (KF6) | read passwords from KWallet |
| `qdbus6` | `qt6-tools` | write passwords to KWallet (D-Bus) |
| `findmnt` | `util-linux` | detect mounted shares |
On Debian/Ubuntu the equivalents are `plasma-workspace`, `cifs-utils`,