summaryrefslogtreecommitdiff
path: root/daemon/daemon-main.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2015-09-03 17:53:32 +0200
committerAlexander Larsson <alexl@redhat.com>2015-09-03 17:53:32 +0200
commit59325dfbe1f855434f87b7791d11175bfdfb9766 (patch)
tree77827f15377eb7d82aa6f7889962d5397ed37a15 /daemon/daemon-main.c
parent7fd91dfb7c48ed31688bcfcdc2dd5ab3f37a7377 (diff)
downloadgvfs-59325dfbe1f855434f87b7791d11175bfdfb9766.tar.gz
Make all gvfs daemons own a name under org.gtk.vfs.*
This allows you to easily allow access to gvfs from a sandbox. Just give it talk access to org.gtk.vfs.* and everything will work. This change does three things: Change the existing mountpoint dbus names from org.gtk.vfs.mountpoint.foo to org.gtk.vfs.mountpoint_foo For other mountpoints, always own: org.gtk.vfs.mountpoint_$pid Change the dbus name of the volume monitors from org.gtk.Private.fooMonitor to org.gtk.vfs.fooMonitor
Diffstat (limited to 'daemon/daemon-main.c')
-rw-r--r--daemon/daemon-main.c28
1 files changed, 13 insertions, 15 deletions
diff --git a/daemon/daemon-main.c b/daemon/daemon-main.c
index 4b2d5419..d72ea52c 100644
--- a/daemon/daemon-main.c
+++ b/daemon/daemon-main.c
@@ -386,21 +386,19 @@ daemon_main (int argc,
loop = g_main_loop_new (NULL, FALSE);
name_owner_id = 0;
- if (mountable_name)
- {
- name_owner_id = g_bus_own_name (G_BUS_TYPE_SESSION,
- mountable_name,
- G_BUS_NAME_OWNER_FLAGS_NONE,
- NULL,
- on_name_acquired,
- on_name_lost,
- data,
- NULL);
- }
- else
- {
- g_idle_add (do_name_acquired, data);
- }
+ /* We want to own *some* name on the org.gtk.vfs.* namespace so that
+ filtering for us works from a sandbox */
+ if (mountable_name == NULL)
+ mountable_name = g_strdup_printf ("org.gtk.vfs.mountpoint_%d", getpid ());
+
+ name_owner_id = g_bus_own_name (G_BUS_TYPE_SESSION,
+ mountable_name,
+ G_BUS_NAME_OWNER_FLAGS_NONE,
+ NULL,
+ on_name_acquired,
+ on_name_lost,
+ data,
+ NULL);
g_main_loop_run (loop);