Session locking doesn't work if the session was unlocked after changing VT

Bug #1371378 reported by Jesús González
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Light Display Manager
Fix Released
Medium
Jesús González
1.10
Triaged
Medium
Unassigned
lightdm (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Test machine: Ubuntu 14.04 with lightdm-1.10.1-0ubuntu1 and lightdm trunk revision 2064

Reproducing the bug:

1. Log into an user session using Unity, Gnome 3 or Cairo-Dock session.
2. If using a Gnome 3 session, trigger the screensaver by executing "xdg-screensaver lock", and then unlock it by entering the user password (this is needed to avoid bug #1371374).
3. Lock the session executing "dm-tool lock" in a terminal.
4. A new greeter is displayed.
5. Switch to the user session by switching VT (e.g. Alt+Ctrl-F7).
6. The user session is locked by the screensaver (which under a Unity session just looks like the greeter), prompting for the user password.
7. Unlock the screensaver by introducing the user password.
8. Lock the session again ("dm-tool lock").
9. The greeter is shown again.
10. Switch to the user session by switching VT (e.g. Alt+Ctrl-F7).
11. The session isn't locked at all.

Causes:

Lightdm is not aware of VT changes, therefore when the session is unlocked by using the screensaver in the user session's VT instead of the greeter, lightdm is thinking that the active session is still the greeter session.

When locking the session afterwards, in the function seat_set_active_session() the session to be activated (the greeter) is compared to the session that light thinks that is active, which it thinks is the greeter because it was the last session activated by lightdm, and therefore locking is not performed.

Related branches

Revision history for this message
Jesús González (jgonzalezdr) wrote :

I've just created a branch with a fix for this bug: https://code.launchpad.net/~jgonzalezdr/lightdm/track_vt_session_changes

description: updated
Changed in lightdm:
status: New → Triaged
importance: Undecided → Medium
Changed in lightdm:
milestone: none → 1.13.2
status: Triaged → Fix Committed
assignee: nobody → Jesús González (jgonzalezdr)
Changed in lightdm:
status: Fix Committed → Fix Released
Changed in lightdm (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lightdm - 1.13.2-0ubuntu1

---------------
lightdm (1.13.2-0ubuntu1) vivid; urgency=medium

  * New upstream release:
    - Fix pipe file descriptor leak for each greeter session. (LP: #1190344)
    - Support active session changing via logind. (LP: #1371378)
    - Don't allow liblightdm-gobject to be disabled. It is required for
      liblightdm-qt and the tests so it's not worth supporting builds without
      it.
    - Add bash autocompletion support
  * debian/lightdm.install:
    - Install autocompletion configuration
 -- Robert Ancell <email address hidden> Tue, 10 Mar 2015 14:54:29 +1300

Changed in lightdm (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.