nix-super/src/libutil
Théophane Hufschmitt 1d3696f0fb Run the builds in a daemon-controled directory
Instead of running the builds under
`$TMPDIR/{unique-build-directory-owned-by-the-build-user}`, run them
under `$TMPDIR/{unique-build-directory-owned-by-the-daemon}/{subdir-owned-by-the-build-user}`
where the build directory is only readable and traversable by the daemon user.

This achieves two things:

1. It prevents builders from making their build directory world-readable
   (or even writeable), which would allow the outside world to interact
   with them.
2. It prevents external processes running as the build user (either
   because that somehow leaked, maybe as a consequence of 1., or because
   `build-users` isn't in use) from gaining access to the build
   directory.
2024-06-21 17:06:19 +02:00
..
args Fix nix shebang interaction with #8131 overhaul completions 2023-11-07 13:24:01 -05:00
linux Build nix-util with Meson 2024-06-12 18:31:02 -04:00
signature Signer infrastructure: Prep for #9076 2024-01-03 16:13:55 -05:00
unix Merge pull request #10905 from obsidiansystems/platform-namespace 2024-06-14 08:45:31 -04:00
windows Put some file descriptor functions in unix and windows namespaces 2024-06-13 11:18:59 -04:00
.version Build nix-util with Meson 2024-06-12 18:31:02 -04:00
abstract-setting-to-json.hh Make toJSONObject const 2023-11-06 16:00:25 +01:00
ansicolor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
archive.cc libstore: remove unused copyPath function 2024-05-25 22:28:41 +02:00
archive.hh libstore: remove unused copyPath function 2024-05-25 22:28:41 +02:00
args.cc libutil/args: warn on unknown settings after parsing all flags 2024-05-15 12:25:03 -07:00
args.hh doc/glossary: Add base directory 2024-04-21 14:24:33 +02:00
callback.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
canon-path.cc Factor out the Unix-specific parts of canonPathInner 2024-02-16 10:12:07 -05:00
canon-path.hh Purify CanonPath 2024-02-16 09:47:25 -05:00
chunked-vector.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
closure.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
comparator.hh use std::tie() for macro-generated operators 2023-12-19 19:32:16 +01:00
compression.cc Slightly change formatting style 2024-05-22 09:20:15 -04:00
compression.hh nfc(libutil): reformat files 2024-03-30 01:29:22 +03:00
compute-levels.cc Add x86_64 compute levels as additional system types 2021-02-22 09:11:15 +01:00
compute-levels.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
config-impl.hh Support unit prefixes in configuration settings 2024-05-08 21:11:09 +02:00
config.cc Fix "include" directive in config files 2024-03-29 16:33:13 +00:00
config.hh Merge pull request #9233 from bouk/bouk/apply-config-inner 2023-12-01 08:23:32 -05:00
current-process.cc Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-31 13:00:09 +02:00
current-process.hh Implement setStackSize for Windows 2024-05-18 16:19:01 -07:00
english.cc Unify and refactor value printing 2024-01-11 16:34:36 -08:00
english.hh Unify and refactor value printing 2024-01-11 16:34:36 -08:00
environment-variables.cc Clean up env var logic in preparation for Windows 2024-04-04 18:17:12 -04:00
environment-variables.hh Build a minimized Nix with MinGW 2024-04-17 12:26:10 -04:00
error.cc builtins.warn: Use new EvalBaseError + "evaluation warning" 2024-06-03 16:24:21 +02:00
error.hh builtins.warn: Use new EvalBaseError + "evaluation warning" 2024-06-03 16:24:21 +02:00
exit.cc :quit in the debugger should quit the whole program 2024-02-20 10:01:13 -08:00
exit.hh :quit in the debugger should quit the whole program 2024-02-20 10:01:13 -08:00
experimental-features.cc Use std::filesystem::path in more places (#10657) 2024-05-07 22:28:50 +00:00
experimental-features.hh Merge remote-tracking branch 'upstream/master' into overlayfs-store 2024-04-05 16:32:02 -04:00
file-content-address.cc Add setting to warn about copying/hashing large paths 2024-05-13 11:52:27 +02:00
file-content-address.hh Merge remote-tracking branch 'origin/master' into large-path-warning 2024-06-03 15:32:27 +02:00
file-descriptor.cc Build a minimized Nix with MinGW 2024-04-17 12:26:10 -04:00
file-descriptor.hh Fix compile error on windows 2024-06-17 00:03:50 -07:00
file-path-impl.hh Support Windows paths in canonPath and absPath 2024-02-16 10:31:36 -05:00
file-path.hh Use std::filesystem::path in more places (#10657) 2024-05-07 22:28:50 +00:00
file-system.cc Run the builds in a daemon-controled directory 2024-06-21 17:06:19 +02:00
file-system.hh Run the builds in a daemon-controled directory 2024-06-21 17:06:19 +02:00
finally.hh libutil: guard Finally against invalid exception throws 2024-06-05 22:45:37 +02:00
fmt.hh add and fix -Wdeprecated-copy 2024-05-17 19:25:35 +02:00
fs-sink.cc Build a minimized Nix with MinGW 2024-04-17 12:26:10 -04:00
fs-sink.hh Revert "Remove dead Git code" 2024-02-27 06:39:30 +01:00
git.cc Use SourcePath in more places 2024-05-06 19:05:42 +02:00
git.hh Use SourcePath in more places 2024-05-06 19:05:42 +02:00
hash.cc hash: Compare hash algo second for back compat 2024-06-12 18:35:47 -04:00
hash.hh Modernize Hash ordering with C++20 <=> 2024-06-03 09:24:33 -04:00
hilite.cc Fix incorrect comment in hiliteMatches 2022-06-05 20:30:18 +02:00
hilite.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
json-impls.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
json-utils.cc ValidPathInfo JSON format should use null not omit field 2024-06-03 08:21:22 -04:00
json-utils.hh ValidPathInfo JSON format should use null not omit field 2024-06-03 08:21:22 -04:00
local.mk Create and install a nix-util.pc 2024-06-03 14:14:40 -04:00
logging.cc Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-31 13:00:09 +02:00
logging.hh Cleanup fmt.hh 2024-02-08 11:51:03 -08:00
lru-cache.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
memory-source-accessor.cc Merge InputAccessor into SourceAccessor 2024-05-03 12:14:01 +02:00
memory-source-accessor.hh Merge InputAccessor into SourceAccessor 2024-05-03 12:14:01 +02:00
meson.build Document the nix-util Meson build system more extensively 2024-06-13 11:39:59 -04:00
meson.options Build nix-util with Meson 2024-06-12 18:31:02 -04:00
muxable-pipe.hh More work on the scheduler for windows 2024-05-28 11:39:49 -04:00
nix-util.pc.in Create and install a nix-util.pc 2024-06-03 14:14:40 -04:00
package.nix build: meson for libfetchers 2024-06-17 17:25:56 -04:00
pool.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
position.cc match line endings used by parser and error reports 2024-03-06 23:11:12 +01:00
position.hh match line endings used by parser and error reports 2024-03-06 23:11:12 +01:00
posix-source-accessor.cc PosixSourceAccessor: Use SharedSync 2024-06-06 10:44:53 +02:00
posix-source-accessor.hh Use SourcePath in more places 2024-05-06 19:05:42 +02:00
processes.hh Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-31 13:00:09 +02:00
ref.hh add and fix -Wdeprecated-copy 2024-05-17 19:25:35 +02:00
references.cc Renamed HashFormat::Base32 to HashFormat::Nix32 2023-12-06 23:43:42 +01:00
references.hh HashType: Rename to HashAlgorithm 2023-12-06 23:43:42 +01:00
regex-combinators.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
repair-flag.hh Combine AbstractPos, PosAdapter, and Pos 2024-01-08 10:59:41 -08:00
serialise.cc Start building the scheduler for Windows 2024-05-10 20:23:59 -04:00
serialise.hh Add setting to warn about copying/hashing large paths 2024-05-13 11:52:27 +02:00
signals.hh setInterruptCheck(): Remove declared but undefined function 2024-04-05 16:03:25 +02:00
source-accessor.cc libutil/source-accessor: custom error if source does not exist 2024-05-25 23:06:57 +02:00
source-accessor.hh libutil/source-accessor: custom error if source does not exist 2024-05-25 23:06:57 +02:00
source-path.cc Merge InputAccessor into SourceAccessor 2024-05-03 12:14:01 +02:00
source-path.hh Use SourcePath in more places 2024-05-06 19:05:42 +02:00
split.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
suggestions.cc Split up util.{hh,cc} 2023-11-05 12:20:02 -05:00
suggestions.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
sync.hh Sync: Add support for shared locks 2024-06-06 10:44:09 +02:00
tarfile.cc Restrict supported tarball formats to actual Tarballs 2024-06-15 14:28:20 +02:00
tarfile.hh fix(libutil): apply only the specified filter to decompress archive 2024-03-30 01:29:29 +03:00
terminal.cc Implement updateWindowSize for Windows 2024-05-18 16:14:20 -07:00
terminal.hh Update the updateWindowSize documentation 2024-05-20 08:34:49 -04:00
thread-pool.cc Build a minimized Nix with MinGW 2024-04-17 12:26:10 -04:00
thread-pool.hh Split up util.{hh,cc} 2023-11-05 12:20:02 -05:00
topo-sort.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
types.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
unix-domain-socket.cc Put some file descriptor functions in unix and windows namespaces 2024-06-13 11:18:59 -04:00
unix-domain-socket.hh Build the local store on Windows 2024-05-10 13:05:23 -04:00
url-parts.hh Merge pull request #9621 from blaggacao/fix/too-restrictive-branch-regex-master 2023-12-22 16:02:25 +01:00
url.cc libutil/url: fix git+file:./ parse error 2024-02-01 10:51:22 +08:00
url.hh Add StoreReference::render 2024-05-22 09:20:15 -04:00
users.cc Start factoring out Unix assumptions 2024-04-02 14:43:38 -04:00
users.hh Build a minimized Nix with MinGW 2024-04-17 12:26:10 -04:00
util.cc Merge remote-tracking branch 'origin/master' into large-path-warning 2024-06-03 15:32:27 +02:00
util.hh Merge remote-tracking branch 'origin/master' into large-path-warning 2024-06-03 15:32:27 +02:00
variant-wrapper.hh Fixing #7479 2023-08-18 11:44:00 -04:00
xml-writer.cc xml-writer: Remove std aliases 2022-02-25 16:13:02 +01:00
xml-writer.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00