After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 534946 - doesn't clean password when writting changes to an another gnome-keyring
doesn't clean password when writting changes to an another gnome-keyring
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: general
2.22.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Srinivasa Ragavan
Evolution QA team
: 535987 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-05-26 17:20 UTC by Sebastien Bacher
Modified: 2008-06-11 05:33 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
Test patch (1.21 KB, patch)
2008-06-02 08:32 UTC, Srinivasa Ragavan
reviewed Details | Review

Description Sebastien Bacher 2008-05-26 17:20:21 UTC
one example is described on https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/230660

the issue has been discussed on #evolution today, if an user has a password stored to the non default gnome keyring and change it the new version is stored in the default gnome keyring but the other one is not cleaned

that can create issue since gnome-keyring look through all the available keyring to get the password and might get the old datas first and try to use those
Comment 1 Sebastien Bacher 2008-05-26 17:22:30 UTC
reassigning bug to srang as discussed on irc
Comment 2 Sebastien Bacher 2008-05-26 17:24:07 UTC
setting the correct assignee now
Comment 3 Matthew Barnes 2008-05-26 17:45:16 UTC
That's going to be tough.  Evolution performs operations on whatever keyring happens to be the default and has no knowledge of which keyring that is nor whether it changed since the last session.

It seems like either gnome-keyring or whatever package changed the default keyring from "default" to "login" ought to be responsible for migration of existing keys.  This problem is not unique to Evolution.
Comment 4 Sebastien Bacher 2008-05-26 20:11:35 UTC
> That's going to be tough.
not really, before writting a new configuration you could search if the account has already a setting stored and clean this one before writting the new configuration
Comment 5 foskey 2008-05-26 22:04:40 UTC
Original reporter:  Firstly some time spans.

Original system - debian (long time user),  new system Ubuntu Hardy heron (brand new computer about December).  I installed Hardy Heron and copied my home directory from Debian.   Worked fine.

Changed password in February  (repeat long time ago).  Change was accepted and working correctly,  no issues.   I recall some instances that the email would ask for passwords but problem would fix itself with next upgrade.

I upgraded Hardy about 1 week before the bug report raised and it started for asking for passwords all the time.  I had the store passwords box ticked and it never 'stuck'.

So summary,  Evolution was working fine then it was not. It was not a 'migration' because the password had been migrated ages ago to 'login', or perhaps it never was I may have had to enter it manually as part of the move from Debian,  I honestly don't remember.

If you want more clarification ask away.
Comment 6 Srinivasa Ragavan 2008-05-27 02:30:53 UTC
Matt, better than that, when you find passwords and get the result, you make sure that we take from the default marked keyring. Currently we force it to store to the default marked one. But while fetching, we don't ensure that but just go with the first result. Instead, we need to see if the password is from the default keyring or not. 
Comment 7 Matthew Barnes 2008-05-27 02:46:34 UTC
Yeah but that doesn't address the problem fully because the old password is still left behind.  I can already see users getting confused about why Evolution asked for a password when they can already see it there in Keyring Manager (in a non-default keyring).

Perhaps when fetching we should pick out results from the default keyring and delete all other results.

/me is still annoyed that applications should have to deal with this...
Comment 8 Srinivasa Ragavan 2008-05-27 03:15:50 UTC
You are right. Ideally when the default is changed by itself, the migration should be done by GKD. 
Comment 9 foskey 2008-05-27 11:05:24 UTC
Sounds like you are on the right track regarding passwords.  Thanks.

Next part of the story.  The send function totally broke.  Obviously the cause is the multiple keyring bug but there is something really strange about the send function causing a failure to close down evolution forcing me to kill application.

I tracked with the camel trace (sorry did not store result).   The get function requested the password but the send function never did,  it kept trying to send again and again with the same bad password and continued to fail.

This continued even after I hit cancel send and it should have stopped.  (trace kept showing tries again and again...)  The send receive dialogue left the screen but behind the scenes the attempted sends with failures continued.

This continued and when I shut down evolution it appeared to hang,  the trace showed this constant try to send that was never honoured.  I was getting from memory a 300 error.

I ended up killing evolution.  Deleting the outbox item resolved the problem.  With one keyring I no longer have this problem, it sends fine.

If there is any strange hang on exit bugs it could be the failure of the send function to track password errors correctly and constantly retrying.
Comment 10 Matthew Barnes 2008-05-27 16:20:12 UTC
Please try to stick to one issue per bug.  Otherwise it quickly becomes difficult for maintainers to track individual issues.

What you're describing in comment #9 sounds very similar to the first part of bug #532472, for which a patch is available.
Comment 11 foskey 2008-05-27 21:10:48 UTC
Yes that does sound like the problem thanks.   It is strongly related because the problem occurred with the keyring error.   Keyring error occurs on both send and receive.
Comment 12 Srinivasa Ragavan 2008-06-02 08:05:21 UTC
*** Bug 535987 has been marked as a duplicate of this bug. ***
Comment 13 Srinivasa Ragavan 2008-06-02 08:32:05 UTC
Created attachment 111934 [details] [review]
Test patch

Something like this should fix it.
Comment 14 Matthew Barnes 2008-06-02 11:27:52 UTC
That should work.  The issue is more that we get the password from the correct keyring rather than cleaning up passwords from other keyrings, correct?

I wonder, though, if we find a password matching our criteria in the wrong keyring whether we should at least emit a terminal warning or something saying so, and that we're ignoring it.
Comment 15 Srinivasa Ragavan 2008-06-11 05:33:51 UTC
Fixed in stable/trunk.