Alexander Larsson
4177f358cb
common: Make it explicit that XdgAppError are portal errors
2015-12-08 12:16:38 +01:00
Alexander Larsson
cf5050126e
fuse: Disable entry cache to work around race condition
2015-10-01 18:02:13 +02:00
Alexander Larsson
2d31c3c7da
fuse: Supply mode when creating files
...
https://bugs.freedesktop.org/show_bug.cgi?id=92034
2015-09-18 14:27:32 +02:00
Alexander Larsson
4ca4f78483
document portal: Fix crashes when dbus activated
...
We handle the first message (the activating message) before we
have gotten the name aquired message. Make sure that this
is correctly handled.
2015-09-09 16:25:51 +02:00
Alexander Larsson
31837cdaa3
fuse: Drop DOC_DIR_INO_CLASS
...
We can just use a APP_DOC_DIR_INO_CLASS with app_id 0.
This gets rid of some duplicated code.
2015-09-08 15:23:18 +02:00
Alexander Larsson
42c6cd4574
document portal: Correctly handle recursive documents
...
I.e. if you pass in a document fd to the document portal we
reuse the existing id.
2015-09-08 14:53:14 +02:00
Alexander Larsson
ad9f05397e
fuse: Add some more debug spew
2015-09-08 11:15:31 +02:00
Alexander Larsson
bb6e476f62
fuse: Raise entry cache times now that we invalidate
2015-09-08 11:15:05 +02:00
Alexander Larsson
8fe6a115f6
fuse: Properly invalidate inodes and entries
2015-09-08 11:09:40 +02:00
Alexander Larsson
8af69c93af
fuse: Unmount previous fuse instance if ENOTCONN
2015-09-08 09:33:44 +02:00
Alexander Larsson
2f115c89af
document-portal: Actually respect WRITE permissions
2015-09-04 17:00:37 +02:00
Alexander Larsson
6cf4d24a09
document-portal: Use xdg_app_is_valid_name() to validate app names
2015-09-04 14:50:02 +02:00
Alexander Larsson
83201bd7e4
fuse: Always open files with O_NOFOLLOW
...
Following symlinks is risky as the sandbox may control them.
2015-09-04 14:16:45 +02:00
Alexander Larsson
0c07417d5f
Add debug output for release
2015-09-03 22:17:00 +02:00
Alexander Larsson
04879fdea5
Store and verify parent dir dev/ino and pass O_PATH fds
...
In order to be robust against symlink attacks (i.e. make a document
for a path, then replace it with a symlink somewhere else and have the
portal read that instead) we store the parent dev/ino when we create
the document id and always verify that (atomically with the *at
syscalls) on each use.
Also, we pass O_PATH fds when creating documents, as it allows us
to be a bit safer. For instance we can verify that the fd is a O_PATH
fd before doing any ops on it, and it makes it possible to avoid other
symlink trickery.
Also, we drop the double add methods, and just use the O_PATH version.
2015-09-03 22:17:00 +02:00
Alexander Larsson
4a298aeec3
fuse: Make filesystem multithreaded
...
This allows us to handle multiple apps better.
2015-09-03 22:16:43 +02:00
Alexander Larsson
6775dc1002
Use g_auto(GStrv) instead of glnx_strfreev
2015-08-31 09:51:48 +02:00
Alexander Larsson
52525f46fd
Remove ununsed variables reported by clang
2015-08-27 16:13:15 +02:00
Alexander Larsson
42012a7d5a
Drop the xdp specific errors and use the xdg-app ones
2015-08-27 10:40:58 +02:00
Alexander Larsson
b6355e1acb
Document portal: Store paths, not uris
...
There is no way to do this for generic uris anyway, lets not
pretend we're solving a larger problem.
2015-08-27 10:38:22 +02:00
Alexander Larsson
12fbd9ff95
Make document portal use the new permission store
2015-08-26 17:11:35 +02:00
Alexander Larsson
c465c15e51
Don't list empty names in opendir
...
This happened in my devel system by mistake and it broke readdir.
2015-08-04 12:05:21 +02:00
Alexander Larsson
f76f6a39ef
document-portal: *always* use the by-app location
...
This is better as you can't accidentally access another apps docs (although
you can still see the backing real files)
2015-07-11 10:48:53 +02:00
Alexander Larsson
4c4c66fc2d
Add GetMountPoint method for document portal
...
This is both to get the mount path and to have a nice way
to activate the mount.
2015-07-10 17:02:38 +02:00
Alexander Larsson
929071ad10
Import xdg-document-portal from github repo
...
This pulls in the daemon code from:
https://github.com/alexlarsson/xdg-document-portal/
We need this in xdg-app because we need to set up the mounts correctly.
2015-07-10 16:56:39 +02:00