nixpkgs/pkgs/applications
aszlig c06c636604
chromium: Add patch for user namespace sandboxing.
This patch adds support for unprivileged user namespaces found in kernel
versions 3.8.0 and later. In case of Nix, this is especially useful to prevent
having to set up setuid wrappers.

The implementation details about this patch can be found at the top of the file
"sandbox_userns.patch". My first attempt of creating this patch was by modifying
the SUID sandbox. Unfortunately this didn't work out well, because in the event
of a sandbox failure, the host zygote process waits for an answer of the inner
zygote with no timeout. Even if I'd have set a timeout, this would have been
very ugly, giving users which don't have unprivileged user namespaces a delay on
startup.

An alternative approach to the mentioned problem would be to use select() on the
host zygote, watching for changes stdout or stderr and the synchronization
socket. But even that approach isn't feasible because it requires a whole bunch
of even more patching.

Patch was tested with older kernels (3.2.x, 3.7.x) and kernels without user
namespace support enabled, where in case the feature is unavailable it reverts
back to the previous behaviour (no zygote sandbox, only seccomp BPF).

In order to support all Chromium channels, I manually changed the first hunk of
the patch to not include the starting context of the diff, because there is a
whitespace change in more recent versions of the Chromium source tree.

See SVN revision 199882 for the change (revert in this case) in detail:

http://src.chromium.org/viewvc/chrome?view=revision&revision=199882

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-05-16 21:03:07 +02:00
..
audio Amarok: fix build against KDE 4.10 2013-05-10 04:13:31 +03:00
display-managers lightdm: Add lightdm and lightdm-gtk-greeter 2013-03-29 15:37:28 +01:00
editors Remove myself from the meta.maintainer field of most Haskell packages. 2013-05-11 00:36:59 +02:00
graphics updating paraview to 3.98.1 2013-05-12 13:49:05 +02:00
misc dunst: upgrade, set maintainers, set default config file 2013-05-13 18:48:42 +02:00
networking chromium: Add patch for user namespace sandboxing. 2013-05-16 21:03:07 +02:00
office libreoffice: update from 3.6.2.2 to 3.6.6.2 2013-05-13 16:07:01 +02:00
science Adding E-KRHyper theorem prover 2013-05-09 17:47:58 +04:00
search Adding doodle. 2013-04-22 20:57:14 +04:00
taxes aangifte2012: preload library which seems needed 2013-04-05 00:34:14 +02:00
version-management mercurial: Update to 2.6.1 2013-05-15 13:15:53 +02:00
video Revert Merge x-updates into master due to mesa bloat 2013-05-09 14:03:35 +02:00
virtualization virtualbox+guest: Update to new upstream v4.2.12. 2013-04-13 10:31:36 +02:00
window-managers Revert Merge x-updates into master due to mesa bloat 2013-05-09 14:03:35 +02:00