Bug 154131 - Wallet::openWallet() fails when user does not click the confirmation dialog in time
Summary: Wallet::openWallet() fails when user does not click the confirmation dialog i...
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kwallet (show other bugs)
Version: SVN
Platform: Mandriva RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 159487 166504 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-12-15 19:38 UTC by David
Modified: 2008-07-14 19:09 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David 2007-12-15 19:38:22 UTC
Version:            (using KDE KDE 3.97.0)
Installed from:    Mandriva RPMs
OS:                Linux

When trying to store smtp password in kwallet it says that kwallet is not available and asks me if I want to save it in a file.
But kwallet is working fine and I was able to save my pop3 password, so I don't know what's the problem.
Comment 1 Thomas McGuire 2007-12-15 19:54:59 UTC
I can not reproduce this. Please provide detailed steps how to reproduce.

I tried the following (with a clean .kde4/.kde directory):

Start KMail, click away the account creation wizard and the tips of the day
Go to account settings and create a new SMTP account. I entered "test"
as the Host, then changed to the Advanced tab, clicked "Server requires 
authentication" and entered "test" as the Password and Login. Then I checked 
the "Store SMTP password" checkbox, clicked OK and OK.
Then the wallet wizard poped up asking me if I want to enable the wallet and let me choose a password. It then asked me if it should allow KMail access to the wallet.
All worked fine, and after restarting KMail, the passwords were still there.

Are you sure the wallet kded service of KDE4 is running ?
Comment 2 David 2007-12-15 20:08:10 UTC
I'm sure kwallet is running, because I could set the pop3 password a few seconds later and didn't touch anything else.

Maybe it's because when I set the password and chose to save it, it was my first time with kwallet (with this test user) and after setting the wallet it asked me for password to open the wallet, and while that dialog was there (I've been away) a new dialog appeared (from kmail) saying what it keeps saying and it can't be fixed now.

Steps to reproduce: send a mail, type smtp password, check to remember it.
Comment 3 Thomas McGuire 2007-12-16 23:01:39 UTC
>Maybe it's because when I set the password and chose to save it, it was my first time with kwallet (with this test user) and after setting the wallet it asked me for password to open the wallet, and while that dialog was there (I've been away) a new dialog appeared (from kmail) saying what it keeps saying and it can't be fixed now. 
The transportmanager of the mailtransport library simply uses Wallet::openWallet(). It seems that this call times out sooner or later. From looking at the code in kwallet.cpp, I guess that is because DBUS times out.
That means that the first call ever to Wallet::openWallet() of some app will timeout when the user does not click the confirmation dialog of KWallet soon enough.

Moving this bug report to kdelibs, as the problem is not KMail specific, but a problem of KWallet.
Comment 4 Thomas McGuire 2008-03-17 20:34:18 UTC
*** Bug 159487 has been marked as a duplicate of this bug. ***
Comment 5 Thomas McGuire 2008-07-14 17:45:48 UTC
*** Bug 166504 has been marked as a duplicate of this bug. ***
Comment 6 Michael Leupold 2008-07-14 19:09:01 UTC
I've fixed this during the last week but somehow missed to close this bug. 

Actually it was the D-Bus method call timing out after around 25 seconds, so if you waited longer than that to enter your password the client application would get the impression opening the wallet failed while the wallet daemon thought opening succeeded.

The timeout was changed to 5 hours so there shouldn't be any problems regarding that any longer. I have a "better" fix in the makings too but this will have to wait for a subsequent release.