mirror of
https://github.com/NixOS/nix
synced 2025-07-06 09:11:47 +02:00
Prepare for FreeBSD sandboxing support
This is the utility changes from #9968, which were easier to rebase first. I (@Ericson2314) didn't write this code; I just rebased it. Co-Authored-By: Artemis Tosini <me@artem.ist> Co-Authored-By: Audrey Dutcher <audrey@rhelmot.io>
This commit is contained in:
parent
653a93ac0f
commit
625dce659a
19 changed files with 198 additions and 15 deletions
|
@ -14,7 +14,7 @@
|
|||
#endif
|
||||
|
||||
#ifdef __linux__
|
||||
# include "nix/util/namespaces.hh"
|
||||
# include "nix/util/linux-namespaces.hh"
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
|
|
|
@ -85,7 +85,7 @@ Settings::Settings()
|
|||
builders = concatStringsSep("\n", ss);
|
||||
}
|
||||
|
||||
#if defined(__linux__) && defined(SANDBOX_SHELL)
|
||||
#if (defined(__linux__) || defined(__FreeBSD__)) && defined(SANDBOX_SHELL)
|
||||
sandboxPaths = tokenizeString<StringSet>("/bin/sh=" SANDBOX_SHELL);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -682,7 +682,9 @@ public:
|
|||
description of the `size` option of `tmpfs` in mount(8). The default
|
||||
is `50%`.
|
||||
)"};
|
||||
#endif
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__)
|
||||
Setting<Path> sandboxBuildDir{this, "/build", "sandbox-build-dir",
|
||||
R"(
|
||||
*Linux only*
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# include "nix/store/personality.hh"
|
||||
# include "nix/util/cgroup.hh"
|
||||
# include "nix/util/namespaces.hh"
|
||||
# include "nix/util/linux-namespaces.hh"
|
||||
# include "linux/fchmodat2-compat.hh"
|
||||
|
||||
# include <sys/ioctl.h>
|
||||
|
|
|
@ -197,7 +197,7 @@ bool useBuildUsers()
|
|||
#ifdef __linux__
|
||||
static bool b = (settings.buildUsersGroup != "" || settings.autoAllocateUids) && isRootUser();
|
||||
return b;
|
||||
#elif defined(__APPLE__)
|
||||
#elif defined(__APPLE__) && defined(__FreeBSD__)
|
||||
static bool b = settings.buildUsersGroup != "" && isRootUser();
|
||||
return b;
|
||||
#else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue