Dan Peebles
336c4270c6
Make the default impure prefix (not actual allowed impurities!) include all of /System/Library, since we also want PrivateFrameworks from there and (briefly) TextEncodings, and who knows what else. Yay infectious impurities?
2015-03-02 23:01:24 -05:00
Eelco Dolstra
885bebf13b
More graceful fallback for chroots on Linux < 2.13
2015-02-23 15:54:31 +01:00
Eelco Dolstra
99897f6979
Use chroots for all derivations
...
If ‘build-use-chroot’ is set to ‘true’, fixed-output derivations are
now also chrooted. However, unlike normal derivations, they don't get
a private network namespace, so they can still access the
network. Also, the use of the ‘__noChroot’ derivation attribute is
no longer allowed.
Setting ‘build-use-chroot’ to ‘relaxed’ gives the old behaviour.
2015-02-23 15:54:31 +01:00
Eelco Dolstra
bd91064150
Use $<attr>Path instead of $<attr> for passAsFile
2015-02-17 16:42:54 +01:00
Eelco Dolstra
a70d275f3d
Allow passing attributes via files instead of environment variables
...
Closes #473 .
2015-02-17 14:42:15 +01:00
Harald van Dijk
5451b8db9d
Use pivot_root in addition to chroot when possible
...
chroot only changes the process root directory, not the mount namespace root
directory, and it is well-known that any process with chroot capability can
break out of a chroot "jail". By using pivot_root as well, and unmounting the
original mount namespace root directory, breaking out becomes impossible.
Non-root processes typically have no ability to use chroot() anyway, but they
can gain that capability through the use of clone() or unshare(). For security
reasons, these syscalls are limited in functionality when used inside a normal
chroot environment. Using pivot_root() this way does allow those syscalls to be
put to their full use.
2015-02-16 12:18:19 +01:00
Shea Levy
d66d9e8425
Require linux 3.13 or later for chroot
...
Fixes #453
2015-02-04 18:15:56 +01:00
Daniel Peebles
f46e329a13
Make inputs writeable in the sandbox (builds still can’t actually write due to user permissions)
2015-01-18 23:25:29 -05:00
Shea Levy
79ca503332
Allow using /bin and /usr/bin as impure prefixes on non-darwin by default
...
These directories are generally world-readable anyway, and give us the two
most common linux impurities (env and sh)
2015-01-13 15:41:46 +01:00
Eelco Dolstra
fcf57aad27
SysError -> Error
2015-01-13 11:17:56 +01:00
Eelco Dolstra
100961e370
Don't resolve symlinks while checking __impureHostDeps
...
Since these come from untrusted users, we shouldn't do any I/O on them
before we've checked that they're in an allowed prefix.
2015-01-13 11:16:32 +01:00
Daniel Peebles
f1151a3373
Add basic Apple sandbox support
2015-01-12 12:00:01 +01:00
Eelco Dolstra
57d64d24aa
Doh^2
2015-01-08 16:59:22 +01:00
Eelco Dolstra
57b82256b0
Doh
2015-01-08 16:49:31 +01:00
Eelco Dolstra
27b7b94923
Set /nix/store permission to 1737
...
I.e., not readable to the nixbld group. This improves purity a bit for
non-chroot builds, because it prevents a builder from enumerating
store paths (i.e. it can only access paths it knows about).
2015-01-08 16:39:07 +01:00
Eelco Dolstra
df05f49dcd
Fix building on Darwin
...
Fixes #433 .
2015-01-06 10:49:44 +01:00
Shea Levy
3d97b8d1e7
LocalStore initialization: Don't die if build-users-group doesn't exist
...
See NixOS/nixpkgs@9245516
2014-12-29 14:40:13 +01:00
Eelco Dolstra
bd0f362d2f
Revive running builds in a PID namespace
2014-12-23 17:25:06 +01:00
Eelco Dolstra
4e0607369e
Pedantry
2014-12-14 01:51:14 +01:00
Eelco Dolstra
8bdff8c100
Merge branch 'cygwin-master' of https://github.com/ternaris/nix
2014-12-14 01:49:14 +01:00
Eelco Dolstra
fa2063ca35
Better error message
2014-12-13 16:54:40 +01:00
Eelco Dolstra
b77037b8fd
Silence some warnings on GCC 4.9
2014-12-12 17:14:28 +01:00
Eelco Dolstra
46f3eb6fdd
Shut up a Valgrind warning
2014-12-12 15:10:02 +01:00
Eelco Dolstra
f52b6c944e
Fix some memory leaks
2014-12-12 15:01:16 +01:00
Eelco Dolstra
28f22b4653
Ensure we're writing to stderr in the builder
...
http://hydra.nixos.org/build/17862041
2014-12-12 14:35:44 +01:00
Eelco Dolstra
4acca1a5b9
Remove chatty message
...
This broke building with "-vv", because the builder is not allowed to
write to stderr at this point.
2014-12-12 13:43:59 +01:00
Eelco Dolstra
ad790022fd
Doh
2014-12-12 13:41:00 +01:00
Eelco Dolstra
851b47bd7d
Don't do vfork in conjunction with setuid
2014-12-10 18:01:01 +01:00
Eelco Dolstra
b5ed5b6e66
Rename function
2014-12-10 17:25:38 +01:00
Eelco Dolstra
e529823635
Don't wait for PID -1
...
The pid field can be -1 if forking the substituter process failed.
2014-12-10 13:53:04 +01:00
Marko Durkovic
629e8da3aa
Explicitly include required C headers
2014-12-09 13:00:59 +01:00
Eelco Dolstra
b7b6e3ddec
Build derivations in a more predictable order
...
Derivations are now built in order of derivation name, so a package
named "aardvark" is built before "baboon".
Fixes #399 .
2014-11-24 16:50:46 +01:00
Eelco Dolstra
9e3389c337
Don't create unnecessary substitution goals for derivations
2014-11-24 16:50:46 +01:00
Eelco Dolstra
8299aaf079
Disable vacuuming the DB after garbage collection
...
Especially in WAL mode on a highly loaded machine, this is not a good
idea because it results in a WAL file of approximately the same size
ad the database, which apparently cannot be deleted while anybody is
accessing it.
2014-11-19 18:14:24 +01:00
Eelco Dolstra
1256ab3b44
Clean up temp roots in a more C++ way
2014-11-19 17:07:29 +01:00
Eelco Dolstra
35aad73bb6
Fix message
2014-11-17 01:00:39 +01:00
Eelco Dolstra
8cfe939b0f
Don't use ADDR_LIMIT_3GB
...
This gives 32-bit builds on x86_64-linux more memory.
2014-11-14 14:16:20 +01:00
Eelco Dolstra
bab8d9b52a
Make ~DerivationGoal more reliable
2014-11-12 11:35:53 +01:00
Eelco Dolstra
06a86aee15
nix-store --gc: Don't warn about missing manifests directory
2014-11-04 10:41:29 +01:00
Eelco Dolstra
e389f4ea55
Improve error message if the daemon worker fails to start
2014-10-31 09:36:09 +01:00
Eelco Dolstra
11aef17a77
Remove comments claiming we use a private PID namespace
...
This is no longer the case since
524f89f139
.
2014-10-29 15:49:34 +01:00
Eelco Dolstra
2a4dbcff74
Improved error message when encountering unsupported file types
...
Fixes #269 .
2014-10-14 10:51:19 +02:00
Eelco Dolstra
3f8576a6ab
Remove some duplicate code
2014-10-03 22:37:51 +02:00
Eelco Dolstra
d4a71ec3bf
Update spec file
...
http://hydra.nixos.org/build/14344391
2014-09-18 15:42:01 +02:00
Eelco Dolstra
8be9990cdb
Install some pkgconfig files
2014-09-18 12:00:40 +02:00
Eelco Dolstra
d98bfcbf81
On Linux, disable address space randomization
2014-09-17 17:21:13 +02:00
Eelco Dolstra
d37d012774
Settings: Add bool get()
2014-09-17 15:18:13 +02:00
Ludovic Courtès
8fb8c26b6d
Add an 'optimiseStore' remote procedure call.
2014-09-01 23:53:26 +02:00
Eelco Dolstra
b72e93bca8
Add disallowedReferences / disallowedRequisites
...
For the "stdenv accidentally referring to bootstrap-tools", it seems
easier to specify the path that we don't want to depend on, e.g.
disallowedRequisites = [ bootstrapTools ];
2014-08-28 18:57:13 +02:00
Gergely Risko
fd61069a42
Introduce allowedRequisites feature
2014-08-28 18:23:55 +02:00