| Summary: | KWallet asks to create a new wallet if the wallet password prompt is ignored | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-kwallet | Reporter: | Alexander Puchmayr <alexander.puchmayr> |
| Component: | general | Assignee: | Valentin Rusu <valir> |
| Status: | REPORTED --- | ||
| Severity: | major | CC: | alexander.puchmayr, florian-evers, kdelibs-bugs-null, mk.mateng, notmart |
| Priority: | NOR | ||
| Version First Reported In: | 6.20.0 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| See Also: | https://bugs.kde.org/show_bug.cgi?id=514189 | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Alexander Puchmayr
2026-01-03 10:33:03 UTC
Seems identical to https://bugs.kde.org/show_bug.cgi?id=504678 The fix should work since frameworks 6.15, but it is here again. (In reply to Alexander Puchmayr from comment #1) > Seems identical to https://bugs.kde.org/show_bug.cgi?id=504678 > The fix should work since frameworks 6.15, but it is here again. The 2nd part where things become unresponsive after you cancel the New Wallet dialog, does indeed look like bug 504678. This has been recently reported again in bug 514189. However, I don't think that you should be getting the New Wallet dialog just because you failed to enter the wallet password on time. So I'm marking that as the key bug here. What I think happens is KWallet sees that it can't open the existing wallet (since you didn't provide the password in time), and falls back to creating a new wallet instead. That's incorrect behavior IMO. It should just return an error to whichever client app requested access. (In reply to michaelk83 from comment #2) > What I think happens is KWallet sees that it can't open the existing wallet > (since you didn't provide the password in time), and falls back to creating > a new wallet instead. Actually, it's a bit more complicated: 1. `listCollections()` tries to connect to the service to get the list of existing wallets. 2. This requires opening a session, which prompts the user for the wallet password. 3. If the user fails to provide the password, the connection fails, so `listCollections()` returns an empty list and an error. 4. `openInternal()` *should* see the error and quit, but looks like it falls back to create a new wallet anyway?? (1,3) https://invent.kde.org/frameworks/kwallet/-/blob/master/src/runtime/kwalletd/secretserviceclient.cpp?ref_type=heads#L485-490 (2,3) https://invent.kde.org/frameworks/kwallet/-/blob/master/src/runtime/kwalletd/secretserviceclient.cpp?ref_type=heads#L255-263 (4) https://invent.kde.org/frameworks/kwallet/-/blob/master/src/runtime/kwalletd/kwalletd.cpp?ref_type=heads#L342-347 *** Bug 514413 has been marked as a duplicate of this bug. *** |