Re: [Evolution] why Evolution email application unnecessarily prompts for passwords on random occasions.



On Fri, 2016-05-13 at 16:19 +0100, Pete Biggs wrote:
Passwords are handled by an external application - probably gnome-
keyring.  If gnome-keyring is not running, then Evolution will prompt
for passwords.  When it is prompting for passwords, check that the
keyring daemon is running.

        Hi,
the above is true, I'll only clarify some background things which are
not visible other than from the code.

The evolution(-data-server) doesn't use gnome-keyring directly, I do
not know since which version, but definitely in 3.10.x and later. It
uses libsecret library for password management. That library hides the
implementation details for the users of it, thus it can be that the
password are stored in the gnome-keyring when the application runs
under GNOME environment, but the passwords can be stored in the KWallet
(it's called this way, if I recall correctly), in the KDE environment,
and so on. I do not say it's currently the case, but the idea of the
libsecret library is just this (apart of other things).

If I'm not mistaken, then the libsecret library talks to the password
store through D-Bus, thus the only thing it needs is a service which
implements that particular interface.

It happens sometimes that the libsecret connection to the service fails
oddly (I suspect it's the libsecret issue, but do not quote me with it,
please), in which case the console of the process which asked for the
password shows a message "The secret was transferred or encrypted in an
invalid way", "received an invalid or unencryptable secret", or some
similar. The 3.10.x shows such messages on an evolution-source-registry 
console, but since 3.18.x it's shown also on the evolution console, in
case it happens. The message isn't included in the evolution code.

I sometimes also see such messages with the development version of the
evolution(-data-server) after I re-run all the evolution* processes.
Usual outcome is a question for my password, even I do save passwords
into the keyring. A simple fix is to re-run the evolution* processes
again. From this I'd guess that the issue is some race condition in the
libsecret library, because I have enabled many (not only) mail
accounts, which ask for the password in dedicated threads.

You can search the Internet for those error messages and you get hits
from various distributions and even software, like from Geary:
https://bugzilla.gnome.org/show_bug.cgi?id=714128
One for the evolution-data-server:
https://bugzilla.gnome.org/show_bug.cgi?id=681815
The main problem is the reproducibility, as it's hard to know what
failed, when it cannot be reproduced.
        Bye,
        Milan



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]