[Bug 1998267] [NEW] glib not aware of snap confinement
Robert Ancell
1998267 at bugs.launchpad.net
Wed Nov 30 01:16:01 UTC 2022
Public bug reported:
[ Impact]
glib is not aware of snap confinement and this causes the internal logic
to decide when to use portals to not work as designed. One important
case is the gsettings backend, which should use a keyfile when confined
rather than using dconf. When using a fully confined desktop this is
required, as dconf is not suitable for sharing between snaps.
This has been fixed in glib main:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3020
[ Test Plan ]
1. Install gnome-calculator snap:
$ snap install gnome-calculator
2. Disconnect gsettings interface:
$ snap disconnect gnome-calculator:gsettings
3. Run gnome-calculator
4. Change mode from basic to advanced
5. Close and re-open gnome-calculator
Expected result:
Mode change remembered on second run. gnome-calculator settings written to ~/snap/gnome-calculator/current/.config/glib-2.0/settings/keyfile
Observed result:
Mode change not remembered on second run, errors shown in console about accessing dconf:
(gnome-calculator:1031938): dconf-CRITICAL **: 14:08:56.034: unable to create file '/run/user/1000/snap.gnome-calculator/dconf/user': Permission denied. dconf will not work properly.
[ Where problems could occur ]
- New bug introduced in glib causing a crash.
- Security issue introduced in glib due to accessing snapctl.
- Unexpected behaviour change when running snaps with updated glib.
** Affects: glib2.0 (Ubuntu)
Importance: High
Assignee: Robert Ancell (robert-ancell)
Status: New
** Affects: glib2.0 (Ubuntu Jammy)
Importance: High
Assignee: Robert Ancell (robert-ancell)
Status: New
** Affects: glib2.0 (Ubuntu Kinetic)
Importance: High
Assignee: Robert Ancell (robert-ancell)
Status: New
** Affects: glib2.0 (Ubuntu Lunar)
Importance: High
Assignee: Robert Ancell (robert-ancell)
Status: New
** Also affects: glib2.0 (Ubuntu Kinetic)
Importance: Undecided
Status: New
** Also affects: glib2.0 (Ubuntu Lunar)
Importance: Undecided
Status: New
** Also affects: glib2.0 (Ubuntu Jammy)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glib2.0 in Ubuntu.
https://bugs.launchpad.net/bugs/1998267
Title:
glib not aware of snap confinement
Status in glib2.0 package in Ubuntu:
New
Status in glib2.0 source package in Jammy:
New
Status in glib2.0 source package in Kinetic:
New
Status in glib2.0 source package in Lunar:
New
Bug description:
[ Impact]
glib is not aware of snap confinement and this causes the internal
logic to decide when to use portals to not work as designed. One
important case is the gsettings backend, which should use a keyfile
when confined rather than using dconf. When using a fully confined
desktop this is required, as dconf is not suitable for sharing between
snaps.
This has been fixed in glib main:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3020
[ Test Plan ]
1. Install gnome-calculator snap:
$ snap install gnome-calculator
2. Disconnect gsettings interface:
$ snap disconnect gnome-calculator:gsettings
3. Run gnome-calculator
4. Change mode from basic to advanced
5. Close and re-open gnome-calculator
Expected result:
Mode change remembered on second run. gnome-calculator settings written to ~/snap/gnome-calculator/current/.config/glib-2.0/settings/keyfile
Observed result:
Mode change not remembered on second run, errors shown in console about accessing dconf:
(gnome-calculator:1031938): dconf-CRITICAL **: 14:08:56.034: unable to create file '/run/user/1000/snap.gnome-calculator/dconf/user': Permission denied. dconf will not work properly.
[ Where problems could occur ]
- New bug introduced in glib causing a crash.
- Security issue introduced in glib due to accessing snapctl.
- Unexpected behaviour change when running snaps with updated glib.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/1998267/+subscriptions
More information about the foundations-bugs
mailing list