Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reopening KWallets #298

Closed
frispete opened this issue Dec 18, 2017 · 0 comments 路 Fixed by #328
Closed

Reopening KWallets #298

frispete opened this issue Dec 18, 2017 · 0 comments 路 Fixed by #328

Comments

@frispete
Copy link
Contributor

frispete commented Dec 18, 2017

Hi,

unfortunately, here's yet another issue with kwallets.. 馃槩

This time, it's triggered by the following steps:

  • open kwallet keyring
    • if not yet opened, it asks for the kwallet password
    • if kwallet was opened already, it asks for confirmation of this app to access the wallet (unless you permitted access to this app generally before)
  • fetch passwords from kwallet
  • force close the wallet (via kwalletmanager)
  • when fetching more passwords now, one would expect another request for permission, but get_password() simply fails (returning None)

I found a workaround, but it's butt ugly. If get_password() fails, I reset the backend handle to -1, and reinitialize the keyring. That forces the connection to re-establish, and requests either for the wallets password, or permission as expected. Hence, the kwallet backend is missing some disconnection detection to handle this situation gracefully. connected() does not fit this purpose...

Any idea anybody, how to approach this properly?

lovetox pushed a commit to lovetox/keyring that referenced this issue May 15, 2018
The wallet could have been closed after a while. Check if the wallet is
open before using it

Fixes jaraco#298
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant