diff options
author | Alexander Larsson <alexl@redhat.com> | 2015-09-03 17:53:32 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2015-09-03 17:53:32 +0200 |
commit | 59325dfbe1f855434f87b7791d11175bfdfb9766 (patch) | |
tree | 77827f15377eb7d82aa6f7889962d5397ed37a15 /daemon/daemon-main.c | |
parent | 7fd91dfb7c48ed31688bcfcdc2dd5ab3f37a7377 (diff) | |
download | gvfs-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.c | 28 |
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); |