about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2018-03-02 libexpr: Recognize newline in more places in lexerTuomas Tynkkynen5-4/+11
Flex's regexes have an annoying feature: the dot matches everything except a newline. This causes problems for expressions like: "${0}\ " where the backslash-newline combination matches this rule instead of the intended one mentioned in the comment: <STRING>\$|\\|\$\\ { /* This can only occur when we reach EOF, otherwise the above (...|\$[^\{\"\\]|\\.|\$\\.)+ would have triggered. This is technically invalid, but we leave the problem to the parser who fails with exact location. */ return STR; } However, the parser actually accepts the resulting token sequence ('"' DOLLAR_CURLY 0 '}' STR '"'), which is a problem because the lexer rule didn't assign anything to yylval. Ultimately this leads to a crash when dereferencing a NULL pointer in ExprConcatStrings::bindVars(). The fix does change the syntax of the language in some corner cases but I think it's only turning previously invalid (or crashing) syntax to valid syntax. E.g. "a\ b" and ''a''\ b'' were previously syntax errors but now both result in "a\nb". Found by afl-fuzz.
2018-03-02 Fix error messageEelco Dolstra1-2/+2
2018-02-28 Merge pull request #1927 from dtzWill/fix/fetchgit-HEADShea Levy1-1/+1
fetchGit: use "HEAD" as default ref instead of "master"
2018-02-28 fetchGit: use "HEAD" as default refWill Dietz1-1/+1
2018-02-28 launchd: enable keepalive for the nix-daemon serviceDaiderd Jordan1-0/+2
Without this the daemon won't be restarted if the process ever dies, for example when sending a SIGHUP to reload nix.conf.
2018-02-28 Actually fix nixDataDir in non-canonical pathShea Levy2-2/+2
2018-02-27 Merge pull request #1912 from dezgeg/replacestrings-take-2Eelco Dolstra3-4/+18
libexpr: Fix prim_replaceStrings() to work on an empty source string, take 2
2018-02-26 libexpr: Fix prim_replaceStrings() to work on an empty source stringTuomas Tynkkynen3-4/+18
Otherwise, running e.g. nix-instantiate --eval -E --strict 'builtins.replaceStrings [""] ["X"] "abc"' would just hang in an infinite loop. Found by afl-fuzz. First attempt of this was reverted in e2d71bd1862cdda because it caused another infinite loop, which is fixed now and a test added.
2018-02-26 nix run: Fix segfault on macOSEelco Dolstra3-3/+11
Note that clearenv() is not available on macOS. Fixes #1907.
2018-02-24 Merge pull request #1901 from veprbl/patch-5Graham Christensen1-1/+1
Fix a small typo in the release notes
2018-02-24 Merge pull request #1903 from primeos/release-notes-2.0-url-fixGraham Christensen1-1/+1
doc: Fix a URL in the release notes for Nix 2.0
2018-02-24 doc: Fix a URL in the release notes for Nix 2.0Michael Weiss1-1/+1
2018-02-23 Fix a small typo in the release notesDmitry Kalinkin1-1/+1
2018-02-23 Fix downloadCached() with a chroot storeEelco Dolstra1-2/+2
E.g. nix run --store ~/my-nix -f channel:nixos-17.03 hello -c hello This problem was mentioned in #1897.
2018-02-22 Fix example in release notesEelco Dolstra1-1/+1
2018-02-22 DohEelco Dolstra1-6/+4
2018-02-22 Release script tweaksEelco Dolstra1-4/+9
2018-02-22 Merge branch 'data-dir-non-canon' of https://github.com/shlevy/nixEelco Dolstra1-1/+1
2018-02-22 Revert "Enable sandbox builds on Linux by default"Eelco Dolstra2-11/+1
This reverts commit ddc58e789636e1b94149c342575d92583251fbf6. https://hydra.nixos.org/eval/1435322
2018-02-22 Fix restricted mode when installing in non-canonical data dirShea Levy1-1/+1
2018-02-22 Set release dateEelco Dolstra1-1/+1
2018-02-22 Enable sandbox builds on Linux by defaultEelco Dolstra3-4/+12
The overhead of sandbox builds is a problem on NixOS (since building a NixOS configuration involves a lot of small derivations) but not for typical non-NixOS use cases. So outside of NixOS we can enable it. Issue #179.
2018-02-22 Merge branch 'fix/sandbox-shell-features' of https://github.com/dtzWill/nixEelco Dolstra1-1/+13
2018-02-22 Merge branch 'fix/dry-run-partially' of https://github.com/dtzWill/nixEelco Dolstra3-0/+55
2018-02-21 Manual: Put configuration options in sorted orderEelco Dolstra1-427/+412
2018-02-21 Manual: Update chapter on remote buildsEelco Dolstra3-70/+191
Alos add a command "nix ping-store" to make it easier to see if Nix can connect to a remote builder (e.g. 'nix ping-store --store ssh://mac').
2018-02-21 Revert "libexpr: Fix prim_replaceStrings() to work on an empty source string"Eelco Dolstra3-11/+4
This reverts commit 4ea9707591beceacf9988b3c185faf50da238403. It causes an infinite loop in Nixpkgs evaluation, e.g. "nix-instantiate -A hello" hung. PR #1886.
2018-02-20 Merge branch 'nix-copy' of git://github.com/Mic92/nix-1Shea Levy1-3/+3
2018-02-21 nix-copy: fix examplesJörg Thalheim1-3/+3
maybe a left-over from nix-store -r ?
2018-02-20 Merge remote-tracking branch 'dezgeg/afl-fixes'Shea Levy5-6/+14
2018-02-20 Release notes: Add contributorsEelco Dolstra1-4/+105
2018-02-20 Fix evaluation of binaryTarball.aarch64-linuxEelco Dolstra1-5/+6
2018-02-19 libutil: Fix invalid assert on decoding base64 hashesTuomas Tynkkynen1-1/+2
The assertion is broken because there is no one-to-one mapping from length of a base64 string to the length of the output. E.g. "1q69lz7Empb06nzfkj651413n9icx0njmyr3xzq1j9q=" results in a 32-byte output. "1q69lz7Empb06nzfkj651413n9icx0njmyr3xzq1j9qy" results in a 33-byte output. To reproduce, evaluate: builtins.derivationStrict { name = "0"; builder = "0"; system = "0"; outputHashAlgo = "sha256"; outputHash = "1q69lz7Empb06nzfkj651413n9icx0njmyr3xzq1j9qy"; } Found by afl-fuzz.
2018-02-19 libexpr: Fix prim_replaceStrings() to work on an empty source stringTuomas Tynkkynen3-4/+11
Otherwise, running e.g. nix-instantiate --eval -E --strict 'builtins.replaceStrings [""] ["X"] "abc"' would just hang in an infinite loop. Found by afl-fuzz.
2018-02-19 libutil: Fix infinite loop in filterANSIEscapes on '\r'Tuomas Tynkkynen1-1/+1
E.g. nix-instantiate --eval -E 'abort "\r"' hangs. Found by afl-fuzz.
2018-02-19 libexpr: Don't create lots of temporary strings in Bindings::lexicographicOrderTuomas Tynkkynen1-1/+1
Avoids ~180,000 string temporaries created when evaluating a headless NixOS system.
2018-02-19 Fix incorrect (and unnecessary) format stringEelco Dolstra1-3/+3
https://hydra.nixos.org/eval/1434547#tabs-now-fail
2018-02-19 Remove macOS multi-user instructionsEelco Dolstra1-28/+0
This is already handled by the installer.
2018-02-19 Update release notesEelco Dolstra4-264/+755
Also add some examples to nix --help.
2018-02-19 configure.ac: define HAVE_SECCOMP macro when using seccomp, fix build/testsWill Dietz1-0/+1
Happily the failing tests should prevent anyone from using such a Nix in situations where they expect sandboxing to be on, which would otherwise be a risk.
2018-02-19 Merge pull request #1882 from shlevy/no-seccomp-no-filterSyscallsEelco Dolstra1-2/+7
Don't silently succeed seccomp setup when !HAVE_SECCOMP.
2018-02-19 Merge branch 'perf-fixes' of git://github.com/dezgeg/nixShea Levy5-27/+30
2018-02-19 Don't silently succeed seccomp setup when !HAVE_SECCOMP.Shea Levy1-2/+7
Running Nix with build users without seccomp on Linux is dangerous, and administrators should very explicitly opt-in to it.
2018-02-19 Config::handleUnknownSettings(): Remove unused 'fatal' argumentEelco Dolstra2-6/+3
2018-02-19 Merge branch 'register-settings' of https://github.com/shlevy/nixEelco Dolstra8-32/+65
2018-02-19 Merge pull request #1857 from dtzWill/fix/check-for-lzma-mtEelco Dolstra2-23/+39
configure.ac: check if lzma has MT support, fix deb build/etc.
2018-02-18 configure: Add a flag to disable seccomp.Shea Levy4-4/+19
This is needed for new arches where libseccomp support doesn't exist yet. Fixes #1878.
2018-02-17 libexpr: Avoid an unnecessary string copy in prim_derivationStrictTuomas Tynkkynen1-1/+1
2018-02-17 libexpr: Remove unnecessary drvName assignment in prim_derivationStrictTuomas Tynkkynen1-6/+0
drvName is already assigned to the same value right at the start of the function.
2018-02-17 libexpr: Optimize prim_derivationStrict by using more symbol comparisonsTuomas Tynkkynen3-10/+15