= phenomenon = I've reset my FAS password on Nov 17, and on the 21th I got another reminder email for changing my password. = reason = After checking with skvidal, it appeared that my password dated back to 2009-08-08
= recommendation = Perhaps someone could check/see if timestamps are properly adjusted following a completed password reset procedure
Thanks.
attachment Fedora Account Data Update nokia.eml
Looked and discussed on IRC without finding a cause. Here's the relevant pieces of code:
http://git.fedorahosted.org/git?p=fas.git;a=blob;f=fas/user.py;h=061635650e41f7a0cbe6dffbd2abeadbb3a44999;hb=HEAD#l1149 This is the code path that should have been taken (as nokia used resetpass rather than simply changing his password). But looking at it, the password isn't set to the new hash until the very end in the same area as the timestamp is updated and the new Log message is made. These are followed by a session.flush() so if there was an error we should have gotten a traceback right then and if transactions are working correctly, the whole thing should have been rolled back. This didn't happen.
http://git.fedorahosted.org/git?p=fas.git;a=blob;f=fas/user.py;h=061635650e41f7a0cbe6dffbd2abeadbb3a44999;hb=HEAD#l954 This is the other section of code which changes passwords. It does the same thing as above except it doesn't have the session.flush() in the controller method. This shouldn't matter as TG itself should flush and commit the changes in one transaction. If that was somehow broken, however, we might see only part of the changes committed. Since this isn't the code path that was accessed, though, this seems like it's got several points against it for being the correct place to look.
We'll just have to wait for a reproducible error case, I think.