address timedlogin bug leading to wrong session getting unlocked

Ray Strode requested to merge wip/timed-login-fix into master

Burghard Britzke reported to that he has found a bug in GDM's timed login implementation.

Under the right circumstances, after the timed login timeout expires, a running session may get misassociated with the timed login user instead of the user that started the session. Further attempts to log in as the timed login user will instead unlock the misassociated user session.

This only affects since, we kill the login screen on wayland after login.

Steps to reproduce:

  1. create two users bubi(1000) and user gast(1001)
  2. edit the [daemon] section of /etc/gdm/custom.conf to enable timed login for the gast user
  1. restart
  2. login as user bubi(1000)
  3. lock the screen
  4. select Login as different user below the password field
  5. select gast from the user list and enter the password for the gast user
  6. notice that the bubi user is unlocked instead of the gast user

Merge request reports