https://bugs.kde.org/show_bug.cgi?id=514104

michaelk83 <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #3 from michaelk83 <[email protected]> ---
(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

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to