gnome-flashback libscreensaver use wrong session path on ubuntu 20.04
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNOME Flashback |
Fix Released
|
Unknown
|
|||
gnome-flashback (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Dmitry Shachnev |
Bug Description
[Impact]
logind sessions have string IDs. When constructing the D-Bus path of a session, systemd uses bus_label_escape() function. That function escapes everything that is not a-zA-Z0-9 with a '_' plus two hexadecimal digits. It also escapes 0-9 if it's the first character. For example, '6' which is (char)0x36 becomes "_36".
GNOME Flashback did not support this escaping logic, so unlocking did not work in some cases.
[Test Case]
1. Lock screen.
2. Press button "Switch user...".
3. Type username and password.
4. Screensaver does not unlock the current session and shows unlock dialog.
[Where problems could occur]
Potential problems will be related to screensaver code. For example, if something goes wrong with systemd D-Bus interface, it will not work.
[Other Info]
Original description:
My OS:
lsb_release -rd
Description: Ubuntu 20.04.1 LTS
Release: 20.04
If I lock my screen and then press button "Switch User..." and again type my login and pass, screensaver does not unlock my current session and shows unlock dialog. This is because of incorrect path of session in libscreensaver/
To fix this problem should add "_3" to path. I create a patch which fixes problem.
Changed in gnome-flashback: | |
status: | Unknown → Fix Released |
Please open merge request upstream - https:/ /gitlab. gnome.org/ GNOME/gnome- flashback/ -/merge_ requests.
What is "_3"?