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 614062 - Timed Login is broken
Timed Login is broken
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
2.29.x
Other All
: Normal normal
: ---
Assigned To: Brian Cameron
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2010-03-26 22:44 UTC by Brian Cameron
Modified: 2010-07-02 19:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch fixing issue (3.56 KB, patch)
2010-03-26 22:44 UTC, Brian Cameron
committed Details | Review

Description Brian Cameron 2010-03-26 22:44:02 UTC
Created attachment 157231 [details] [review]
patch fixing issue

When you enable TimedLogin by adding this to the [daemon] section of the /etc/gdm/custom.conf file:

[daemon]
TimedLoginEnable=true
TimedLogin=username
TimedLoginDelay=30

Then when the greeter starts up it is supposed to automatically select the "Timed Login" selection and start the timeout clock.  However this fails because handle_request_timed_login in gui/simple-greeter/gdm-greeter-login-window.c can be called before the users "loaded" signal is received.

So, the GUI acts oddly in the situation when this failure happens.  The timed login user is highlighted but not actually selected so you can click on other users if you want.  The timer is active so you will autologin after the timeout.  However, if you click on any users in the user list or the "Other" user then you are not presented with an entry field to enter username/password information.  If you then click the "Cancel" button and try again, it corrects and then works.  But it is very confusing behavior.

Simply fixing the code so that it checks the flag to see if users have been loaded and then to set up a signal handler so that it will select the timed login user when the event is received fixes the problem.

After the fix in the attached patch the "Timeout" user is actually selected and you need to hit the "Cancel" button to end the timeout and select other users, or to re-select the "Timed" choice to restart the timer.  This is the intended way for the code to work.
Comment 1 Ray Strode [halfline] 2010-04-21 19:39:31 UTC
Comment on attachment 157231 [details] [review]
patch fixing issue

great
Comment 2 Brian Cameron 2010-04-21 21:59:53 UTC
Fixed in master.