main: Stop owning the public org.freedesktop.Notifications name

For sandboxed apps, permission to talk to org.freedesktop.Notifications
looks innocent enough. However as all exported services share the same
connection to the session bus, that permission actually grants an app
access to *any* shell D-Bus API.

While we want apps to use the notification portal, it is still common
for apps to use libnotify, raw D-Bus calls or even notify-send.

We don't want to give those apps a way to circumvent most of the sandbox
restrictions, so stop owning the org.freedesktop.Notifications name.

In a next step we will implement a separate notification-daemon that
exposes the API on the well-known address and proxies any requests to
the real implementation in gnome-shell.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/547
This commit is contained in:
Florian Müllner 2019-05-16 19:30:35 +02:00 committed by Florian Müllner
parent 574c560677
commit 1aff64a38b

View File

@ -161,8 +161,6 @@ shell_dbus_init (gboolean replace)
"org.gnome.Panel", TRUE, "org.gnome.Panel", TRUE,
/* ...and the org.gnome.Magnifier service. */ /* ...and the org.gnome.Magnifier service. */
MAGNIFIER_DBUS_SERVICE, FALSE, MAGNIFIER_DBUS_SERVICE, FALSE,
/* ...and the org.freedesktop.Notifications service. */
"org.freedesktop.Notifications", FALSE,
NULL); NULL);
g_object_unref (bus); g_object_unref (bus);
g_object_unref (session); g_object_unref (session);