| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This is needed for the "save as" file selector portal
|
| |
|
| |
|
|
|
|
| |
These are useful for passing temporary files.
|
|
|
|
|
|
|
| |
These document id will not be shared for multiple users. The main
difference is this this makes it safe for the creating app to delete
the document if he wants to (i.e. for temporary docs), and thus we can
grant this additional permission for the calling app.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
There is no way to do this for generic uris anyway, lets not
pretend we're solving a larger problem.
|
| |
|
|
|
|
|
| |
This is a generalized store for permissions, which also will
be used by the document portal.
|
| |
|
|
|
|
|
| |
This is both to get the mount path and to have a nice way
to activate the mount.
|
|
|
|
|
|
|
| |
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.
|
|
This moves a all source code into separate subdirs per binary. The
helper and the generic stuff goes into lib/ which is then used by all
the others. For now this is a completely internal library, but at
some point we will probably clean it up and expose some subset.
Also, we move the dbus proxy to libexecdir.
|