aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-03-02Allow local networking in the darwin sandbox to appease testsDan Peebles
2015-02-23TypoEelco Dolstra
2015-02-23More graceful fallback for chroots on Linux < 2.13Eelco Dolstra
2015-02-23Use chroots for all derivationsEelco Dolstra
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-23Add restricted evaluation modeEelco Dolstra
If ‘--option restrict-eval true’ is given, the evaluator will throw an exception if an attempt is made to access any file outside of the Nix search path. This is primarily intended for Hydra, where we don't want people doing ‘builtins.readFile ~/.ssh/id_dsa’ or stuff like that.
2015-02-22Merge branch 'gh-476-fix-install-script' of git://github.com/jramnani/nixShea Levy
sometimes cd prints to stdout
2015-02-22Merge branch 'docs/channels-path' of git://github.com/iElectric/nixShea Levy
2015-02-22fixes https://github.com/NixOS/nixpkgs/issues/6485Domen Kožar
2015-02-19Merge branch 'tilde-paths' of https://github.com/shlevy/nixEelco Dolstra
2015-02-19tilde paths: The rest of the string has to start with a slash anywayShea Levy
2015-02-19tilde paths: construct the entire path at parse timeShea Levy
2015-02-19tilde paths: get HOME at parse timeShea Levy
2015-02-19Remove obsolete reference to ~ operatorEelco Dolstra
2015-02-19ExprConcatStrings: canonicalize concatenated pathsShea Levy
2015-02-19FIXMEsEelco Dolstra
2015-02-19Allow the leading component of a path to be a ~Shea Levy
2015-02-18Escape arguments to nix-shell #! scriptsEelco Dolstra
2015-02-18Support passing command line arguments to nix-shell #! scriptsEelco Dolstra
2015-02-18Fix nix-shell shebang scripts if -p is usedEelco Dolstra
2015-02-18nix-store --generate-binary-cache-key: Write key to diskEelco Dolstra
This ensures proper permissions for the secret key.
2015-02-17Use $<attr>Path instead of $<attr> for passAsFileEelco Dolstra
2015-02-17Allow passing attributes via files instead of environment variablesEelco Dolstra
Closes #473.
2015-02-17Keep sortedEelco Dolstra
2015-02-17Include NAR size in fingerprint computationEelco Dolstra
This is not strictly needed for integrity (since we already include the NAR hash in the fingerprint) but it helps against endless data attacks [1]. (However, this will also require download-from-binary-cache.pl to bail out if it receives more than the specified number of bytes.) [1] https://isis.poly.edu/~jcappos/papers/cappos_mirror_ccs_08.pdf
2015-02-16Test chroot buildingEelco Dolstra
2015-02-16Use pivot_root in addition to chroot when possibleHarald van Dijk
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-12Revert "Remove Fedora 18, 19 builds"Eelco Dolstra
This reverts commit 9c58691ce3a35833ddcbf157f9f174ab0cc1c37a. Fedora 18/19 images should build again.
2015-02-11Nix install script failed when "cd" printed to stdout.Jeff Ramnani
In some cases the bash builtin command "cd" can print the variable $CWD to stdout. This caused the install script to fail while copying files because the source path was wrong. Fixes #476.
2015-02-10Don't depend on libsodium on DarwinEelco Dolstra
It doesn't build at the moment. http://hydra.nixos.org/build/19557641
2015-02-10Make libsodium an optional dependencyEelco Dolstra
2015-02-10Add Fedora 21 buildEelco Dolstra
Fixes #467.
2015-02-10Add base64 encoder/decoderEelco Dolstra
2015-02-08nix-build: Respect -Q during evaluationShea Levy
Fixes #474
2015-02-05Remove tabEelco Dolstra
2015-02-04TypoEelco Dolstra
2015-02-04Require linux 3.13 or later for chrootShea Levy
Fixes #453
2015-02-04Sign a subset of the .narinfoEelco Dolstra
We only need to sign the store path, NAR hash and references (the "fingerprint"). Everything else is irrelevant to security. For instance, the compression algorithm or the hash of the compressed NAR don't matter as long as the contents of the uncompressed NAR are correct. (Maybe we should include derivers in the fingerprint, but they're broken and nobody cares about them. Also, it might be nice in the future if .narinfos contained signatures from multiple independent signers. But that's impossible if the deriver is included in the fingerprint, since everybody will tend to have a different deriver for the same store path.) Also renamed the "Signature" field to "Sig" since the format changed in an incompatible way.
2015-02-04Use libsodium instead of OpenSSL for binary cache signingEelco Dolstra
Sodium's Ed25519 signatures are much shorter than OpenSSL's RSA signatures. Public keys are also much shorter, so they're now specified directly in the nix.conf option ‘binary-cache-public-keys’. The new command ‘nix-store --generate-binary-cache-key’ generates and prints a public and secret key.
2015-02-03Simplify parseHash32Eelco Dolstra
2015-02-03Simplify printHash32Eelco Dolstra
2015-01-30nix-install-package: follow symlinksJaka Hudoklin
2015-01-29Merge remote-tracking branch 'shlevy/baseNameOf-no-copy'Shea Levy
baseNameOf: Don't copy paths to the store first
2015-01-28Moves runHook to a later execution positionOliver Dunkl
It moves runHook to a later position in the rcfile. After that we are able to set the PS1 environment-variable for a nix-shell environment e.g.: # turn the color of the prompt to blue shellHook = '' export PS1="\n\[\033[1;34m\][\u@\h:\w]$\[\033[0m\] "; '';
2015-01-18Make inputs writeable in the sandbox (builds still can’t actually write ↵Daniel Peebles
due to user permissions)
2015-01-15Shut up "Wide character in print" warning in copy-from-other-stores.plEelco Dolstra
2015-01-15Fix assertion failure in nix-envEelco Dolstra
$ nix-env -f ~/Dev/nixops/ -iA foo nix-env: src/libexpr/eval.hh:57: void nix::Bindings::push_back(const nix::Attr&): Assertion `size_ < capacity' failed. Aborted
2015-01-15Set correct user agent for NAR downloads from binary cachesEelco Dolstra
2015-01-13Allow using /bin and /usr/bin as impure prefixes on non-darwin by defaultShea Levy
These directories are generally world-readable anyway, and give us the two most common linux impurities (env and sh)
2015-01-13SysError -> ErrorEelco Dolstra
2015-01-13Don't resolve symlinks while checking __impureHostDepsEelco Dolstra
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.