Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-11-08 | Merge branch 'fix-writable-shell' of https://github.com/yorickvP/nix | Eelco Dolstra | |
2021-10-15 | Restore parent mount namespace in restoreProcessContext | Yorick van Pelt | |
This ensures any started processes can't write to /nix/store (except during builds). This partially reverts 01d07b1e, which happened because of #2646. The problem was only happening after nix downloads anything, causing me to suspect the download thread. The problem turns out to be: "A process can't join a new mount namespace if it is sharing filesystem-related attributes with another process", in this case this process is the curl thread. Ideally, we might kill it before spawning the shell process, but it's inside a static variable in the getFileTransfer() function. So instead, stop it from sharing FS state using unshare(). A strategy such as the one from #5057 (single-threaded chroot helper binary) is also very much on the table. Fixes #4337. | |||
2021-10-14 | Make the canReachRoots() traversal non-recursive | Eelco Dolstra | |
2021-10-13 | Use a thread per connection | Eelco Dolstra | |
2021-10-13 | Non-blocking garbage collector | Eelco Dolstra | |
The garbage collector no longer blocks other processes from adding/building store paths or adding GC roots. To prevent the collector from deleting store paths just added by another process, processes need to connect to the garbage collector via a Unix domain socket to register new temporary roots. | |||
2021-10-06 | Don't reset the logger in a vfork | Eelco Dolstra | |
9c766a40cbbd3a350a9582d0fd8201e3361a63b2 broke logging from the daemon, because commonChildInit is called when starting the build hook in a vfork, so it ends up resetting the parent's logger. So don't vfork. It might be best to get rid of vfork altogether, but that may cause problems, e.g. when we call an external program like git from the evaluator. | |||
2021-10-05 | Connect/bind Unix domain sockets in a child process | Eelco Dolstra | |
In the child process, we can do a chdir() and avoid the problem of the path not fitting into sockaddr_un. | |||
2021-09-13 | RunOptions: Use designated initializers | Eelco Dolstra | |
Also get rid of _killStderr because it wasn't actually checked anywhere. | |||
2021-07-01 | Respect TERM=dumb more consistently | Yestin L. Harrison | |
2021-04-07 | Restore stack size in child processes | Eelco Dolstra | |
Fixes #4673. | |||
2021-04-07 | restoreSignals() + restoreAffinity() -> restoreProcessContext() | Eelco Dolstra | |
2021-04-07 | PathSubstitutionGoal: Clean up pipe | Eelco Dolstra | |
If there were many top-level goals (which are not destroyed until the very end), commands like $ nix copy --to 'ssh://localhost?remote-store=/tmp/nix' \ /run/current-system --no-check-sigs --substitute-on-destination could fail with "Too many open files". So now we do some explicit cleanup from amDone(). It would be cleaner to separate goals from their temporary internal state, but that would be a bigger refactor. | |||
2021-01-21 | Remove trailing whitespace | Eelco Dolstra | |
2021-01-08 | Support binary unit prefixes in command line arguments | Eelco Dolstra | |
2021-01-08 | string2Int(): Return std::optional | Eelco Dolstra | |
2020-12-02 | read(): Use char * instead of unsigned char * | Eelco Dolstra | |
This gets rid of some pointless casts. | |||
2020-12-02 | Sink: Use std::string_view | Eelco Dolstra | |
2020-12-02 | writeFull/writeFile: Use std::string_view | Eelco Dolstra | |
2020-12-01 | replaceStrings(): Use std::string_view | Eelco Dolstra | |
2020-10-11 | Split out `commonChildInit` | John Ericson | |
2020-10-06 | Factor out common showBytes() | Eelco Dolstra | |
2020-09-21 | Random header cleanup | Eelco Dolstra | |
2020-09-21 | Move Callback into its own header | Eelco Dolstra | |
This gets rid of the inclusion of <future> in util.hh, cutting compilation time by ~20s (CPU time). Issue #4045. | |||
2020-08-20 | Allow 'nix' subcommands to provide docs in Markdown format | Eelco Dolstra | |
2020-08-05 | Merge remote-tracking branch 'upstream/master' into misc-ca | John Ericson | |
2020-07-30 | unsigned long long -> uint64_t | Eelco Dolstra | |
2020-07-16 | Merge branch 'optional-derivation-output-storepath' of ↵ | Carlo Nucera | |
github.com:obsidiansystems/nix into ca-derivation-data-types | |||
2020-07-12 | Move C++17 "pattern matching" boilerplat to utils.hh | John Ericson | |
2020-06-17 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-06-15 | Merge branch 'errors-phase-2' of https://github.com/bburdette/nix | Eelco Dolstra | |
2020-06-12 | Use `std::string_view` in a few more places | John Ericson | |
2020-06-11 | Merge remote-tracking branch 'upstream/master' into errors-phase-2 | Ben Burdette | |
2020-06-04 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-06-04 | Make 'nix dev-shell' a deprecated alias for 'nix develop' | Eelco Dolstra | |
2020-05-28 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-05-11 | Merge branch 'master' into errors-phase-2 | Ben Burdette | |
2020-05-10 | Simplify | Eelco Dolstra | |
2020-05-08 | Enable `baseNameOf` test | Tobias Pflug | |
Add note about removal of trailing slashes in the doc comment of baseNameOf and enabled the test. | |||
2020-05-08 | Enable `dirOf` test | Tobias Pflug | |
Adjusted the doc comment for `dirOf` to reflect the implementation behavior. | |||
2020-05-07 | Remove replaceInSet | Tobias Pflug | |
The function isn't being used anywhere so it seems safe to remove | |||
2020-05-06 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-04-29 | StringSink pre allocate | Guillaume Bouchard | |
When used with `readFile`, we have a pretty good heuristic of the file size, so `reserve` this in the `string`. This will save some allocation / copy when the string is growing. | |||
2020-04-29 | Remove the `drain` argument from `readFile` | Guillaume Bouchard | |
Now it is always `drain` (see previous commit). | |||
2020-04-24 | all things error to error.hh | Ben Burdette | |
2020-04-23 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-04-22 | Don't include error.hh in util.hh to prevent header bloat | Eelco Dolstra | |
2020-04-22 | Merge branch 'error-format' of https://github.com/bburdette/nix | Eelco Dolstra | |
2020-04-21 | add ErrorInfo to BaseError | Ben Burdette | |
2020-04-16 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-04-14 | add NIX_USER_CONF_FILES | zimbatm | |
Motivation: maintain project-level configuration files. Document the whole situation a bit better so that it corresponds to the implementation, and add NIX_USER_CONF_FILES that allows overriding which user files Nix will load during startup. |