Session locking doesn't work if the session was unlocked after changing VT
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-
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_
Related branches
- Robert Ancell: Approve
-
Diff: 395 lines (+234/-1)10 files modifiedsrc/lightdm.c (+25/-0)
src/login1.c (+2/-1)
src/seat.c (+51/-0)
src/seat.h (+6/-0)
src/session.c (+7/-0)
src/session.h (+2/-0)
tests/Makefile.am (+1/-0)
tests/scripts/lock-seat-after-vt-switch.conf (+86/-0)
tests/src/test-runner.c (+52/-0)
tests/test-lock-seat-after-vt-switch (+2/-0)
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 |
I've just created a branch with a fix for this bug: https:/ /code.launchpad .net/~jgonzalez dr/lightdm/ track_vt_ session_ changes