Alexander Larsson
368eb5f304
utils: Add xdg_app_supports_bundles
...
This uses some hacks to check at runtime if ostree is new enough
to support making bundles.
2015-11-10 11:57:30 +01:00
Alexander Larsson
d3b207a0d6
Create custom /etc/passwd and /etc/group with minimal content
...
There is no particular reason to leak the entire host passwd and group
files, as only the users uid/gid is mapped anyway. If fact, injecting
the tty group while also not being allowed to chmod the pty to that group
will make grantpt() fail.
2015-10-26 17:23:31 +01:00
Christian Hergert
f06a09b0f9
helper: unblock SIGCHILD before execvp() of child
...
We don't want to block SIGCHILD from being handled by the child process,
as that could be necessary for g_child_watch_add(), waitpid(), or similar.
2015-10-26 09:07:04 +01:00
Christian Hergert
f83224c948
helper: match whitespace to other options
2015-10-26 09:07:04 +01:00
Christian Hergert
14bd531121
helper: give xdg-app process access to /dev/ptmx
...
This is needed for posix_openpt() to locate the proper ptmx path. We can
just symlink into /dev/pts/ptmx which is already in the mount namespace.
2015-10-26 09:07:04 +01:00
Alexander Larsson
64d7c00045
Move dbus invocation peer app detection to lib/
2015-10-21 10:23:37 +02:00
Alexander Larsson
477de4c217
Always remove all leftover app/runtime traces on uninstall
...
Even if there is no deploy directory we make sure to remove any
refs with the same name in the repo, and purge the repo.
2015-10-19 10:41:47 +02:00
Alexander Larsson
9855ac23b4
utils: Add xdg_app_decompose_ref()
2015-10-19 10:41:47 +02:00
Alexander Larsson
c26510295f
helper: Also copy extra symlinks from /
2015-10-05 11:24:40 +02:00
Alexander Larsson
dbc92635cc
helper: Correctly zero terminate symlink targets
2015-10-05 11:24:26 +02:00
Alexander Larsson
208eb7b1aa
Propagate Xauthority details to the sandbox if X11 is enabled
...
Some xservers out there (like xorg 1.17.1) have a broken server interpreted
local xauth, which causes apps to fail to connect to the xserver.
This fixes that by propagating Xauthority data such as the MIT-MAGIC-COOKIE-1.
2015-10-01 21:23:23 +02:00
Alexander Larsson
eedbeab9d0
helper: Handle existing mounts with escaped characters
2015-10-01 18:59:32 +02:00
Alexander Larsson
279558b6bf
cleanup: Simplify code using xdg_app_fail
2015-09-28 16:54:24 +02:00
Alexander Larsson
b08f650b07
Add --nofilesystem commandline arg
2015-09-25 17:04:50 +02:00
Alexander Larsson
dc6c6826ab
utils: Add xdg_app_fail
2015-09-25 17:04:32 +02:00
Alexander Larsson
afda9d54c4
list-apps/runtimes: User table printer
2015-09-24 21:36:35 +02:00
Alexander Larsson
66e61764f3
list-remotes: Add support for listing both user and system remotes
2015-09-24 21:36:35 +02:00
Alexander Larsson
c40f2ad74e
Move table printer to xdg-app-utils.c
2015-09-24 21:36:35 +02:00
Alexander Larsson
41af86dc69
Add xdg-app enter command
...
This lets you enter a sandbox and run a command there, which is useful
for debugging purposes.
2015-09-24 19:23:24 +02:00
Alexander Larsson
1917e1fd38
Make seccomp optional
...
Several architectures does not have seccomp yet.
2015-09-24 14:57:53 +02:00
Alexander Larsson
3240ac6d3f
remove some unused code
2015-09-23 13:54:25 +02:00
Alexander Larsson
752b1a0a4b
run: Fix handling of which filesystems you can access
2015-09-23 13:53:04 +02:00
Alexander Larsson
727f50e923
xdg-app build: Support extensions
2015-09-22 13:57:20 +02:00
Alexander Larsson
3334c08f6e
run: When creating /etc symlinks, don't make symlinks to symlinks
...
Instead we just copy the original symlink. This makes things like
/etc/localtime symlink value parsing work.
2015-09-21 10:43:10 +02:00
Alexander Larsson
5e6960353d
Mount nvidia device nodes in sandbox if dri allowed
2015-09-18 14:15:56 +02:00
Alexander Larsson
5065e431a2
run: Allow perf and ptrace in debug and build mode.
...
Without this you can't e.g. run a debugger or profiler in the sandbox.
2015-09-18 14:11:15 +02:00
Alexander Larsson
645c433960
Fix distcheck issues
2015-09-17 20:24:04 +02:00
Alexander Larsson
f866097c94
Add XdgAppChainInputStream based on ostree version
...
This should really be in some library, but lets just copy it for now.
2015-09-17 15:27:04 +02:00
Alexander Larsson
7c788adb20
lib: Handle libsoup now having built-in autocleanup support
2015-09-17 10:56:14 +02:00
Alexander Larsson
7ef861cedf
Add new override builtin to override app permissions
2015-09-11 16:07:31 +02:00
Alexander Larsson
c87e7e4e4f
create dirs with 755, not 777
2015-09-11 15:30:39 +02:00
Alexander Larsson
9d1cfd7688
run: Support system overrides as well as per-user
2015-09-11 13:01:39 +02:00
Alexander Larsson
c702fa2555
XdgAppContext: Always initialize bitfields
2015-09-11 13:01:06 +02:00
Alexander Larsson
90718549ee
run: Read per-app override metadata file
2015-09-09 16:31:49 +02:00
Alexander Larsson
6d98e56c55
run: Never propagate DISPLAY if X socket not requested
...
This is just confusing.
2015-09-09 16:31:07 +02:00
Alexander Larsson
5610b97455
XdgAppContext: Properly handle masking things from parent context
...
This allows you to use things like --nosocket in build-finish to
override runtime defaults. But it is also a building block for
later changes.
2015-09-09 14:11:05 +02:00
Alexander Larsson
60fc11035e
db: Fix leak
2015-09-07 11:13:24 +02:00
Alexander Larsson
c0e480df94
Add xdg_app_mkstempat
...
This is like g_mkstemp except it uses openat
2015-09-03 22:17:00 +02:00
Alexander Larsson
58fb2c4e50
Markup AUTOLOCK with unused to avoid warnings
2015-09-03 22:16:43 +02:00
Colin Walters
8bbe3b3e41
helper: Add perf and ptrace to seccomp blacklist
...
Note that I copied this xdg-app blacklist into linux-user-chroot:
https://git.gnome.org/browse/linux-user-chroot/commit/?id=8cee4ab7345f126d1dec55b7ca1f28e8090a58d3
We should figure out a better way down the line to share code - maybe
we can share a setup-seccomp.c?
Possibly in the long run we'll end up with diverging blacklists, as
linux-user-chroot can be a lot more aggressive, as its primary
audience is build side, not generic applications. We'll see.
But in this patch I added a big comment on how we should share code,
and in particular credit sandstorm.io for some of these filters.
(Although they may have gotten some of them from Android or Chromium?)
Going back to the high level topic - let's add perf and ptrace to the
blacklist. We expect profiling to be done from a non-sandboxed
terminal, or a less-restricted IDE type process which can look at the
namespace of other apps and the desktop/kernel.
2015-09-02 09:08:06 +02:00
Alexander Larsson
6775dc1002
Use g_auto(GStrv) instead of glnx_strfreev
2015-08-31 09:51:48 +02:00
Colin Walters
bfeaccb822
Update libglnx, use its copy of backports
...
This fixes the build on GLib 2.42 at least - the conditionals for
g_strv_contains() weren't right. I'm trying to have libglnx also be a
centralized "glib backports" area, so having g_strv_contains() there
is better.
2015-08-31 09:40:45 +02:00
Alexander Larsson
f6657901c4
utils: Add AUTOLOCK macro
2015-08-27 19:42:15 +02:00
Alexander Larsson
d442e9bb4c
Fix const marking of string arrays.
2015-08-27 16:16:58 +02:00
Alexander Larsson
909aa7a762
Fix error check of policy parsing
2015-08-27 16:16:38 +02:00
Alexander Larsson
cbdd412d71
Fix type of return
2015-08-27 16:16:02 +02:00
Alexander Larsson
52525f46fd
Remove ununsed variables reported by clang
2015-08-27 16:13:15 +02:00
Alexander Larsson
12fbd9ff95
Make document portal use the new permission store
2015-08-26 17:11:35 +02:00
Alexander Larsson
c4e500db37
Add XdgAppError
2015-08-25 13:16:34 +02:00
Alexander Larsson
d9f9080967
Initial version of XdgAppDb
2015-08-25 13:16:31 +02:00
Alexander Larsson
2d0866cac8
gvdb: Add gvdb_table_get_content
...
This is useful if you want to apply outstanding changes to
a table withough immediately persisting it to disk.
2015-08-25 09:27:35 +02:00
Alexander Larsson
a9ffa4960d
Move gvdb to lib/
2015-08-25 09:27:35 +02:00
Alexander Larsson
ffa1acea75
Rename dbus file to org.freedesktop.XdgApp
2015-08-25 09:27:35 +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
08d05a30a3
Automatically start and mount document portal in sandbox
2015-07-10 17:49:59 +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
Alexander Larsson
0040312b07
If home is accessible, make user-dirs.dir visible in custom config dir
...
This makes xdg user dirs work in the sandbox too.
2015-07-10 12:36:54 +02:00
Alexander Larsson
302f88e69d
Restructure directories and build
...
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.
2015-07-10 12:15:45 +02:00