John Ericson
f073df60d6
Replace ./../*
with ../*
in Nix expressions ( #16414 )
2016-06-22 10:39:50 +02:00
zimbatm
bc6b93511f
Merge pull request #16377 from aszlig/improve-escape-shell-arg
...
lib: Make escapeShellArg more robust
2016-06-21 14:32:45 +01:00
Benjamin Saunders
8e47786c0e
coturn: init at 4.5.0.3 ( #16284 )
2016-06-21 12:59:29 +02:00
aszlig
df475092e9
lib: Make escapeShellArg more robust
...
Quoting various characters that the shell *may* interpret specially is a
very fragile thing to do.
I've used something more robust all over the place in various Nix
expression I've written just because I didn't trust escapeShellArg.
Here is a proof of concept showing that I was indeed right in
distrusting escapeShellArg:
with import <nixpkgs> {};
let
payload = runCommand "payload" {} ''
# \x00 is not allowed for Nix strings, so let's begin at 1
for i in $(seq 1 255); do
echo -en "\\x$(printf %02x $i)"
done > "$out"
'';
escapers = with lib; {
current = escapeShellArg;
better = arg: let
backslashEscapes = stringToCharacters "\"\\ ';$`()|<>\r\t*[]&!~#";
search = backslashEscapes ++ [ "\n" ];
replace = map (c: "\\${c}") backslashEscapes ++ [ "'\n'" ];
in replaceStrings search replace (toString arg);
best = arg: "'${replaceStrings ["'"] ["'\\''"] (toString arg)}'";
};
testWith = escaper: let
escaped = escaper (builtins.readFile payload);
in runCommand "test" {} ''
if ! r="$(bash -c ${escapers.best "echo -nE ${escaped}"} 2> /dev/null)"
then
echo bash eval error > "$out"
exit 0
fi
if echo -n "$r" | cmp -s "${payload}"; then
echo success > "$out"
else
echo failed > "$out"
fi
'';
in runCommand "results" {} ''
echo "Test results:"
${lib.concatStrings (lib.mapAttrsToList (name: impl: ''
echo " ${name}: $(< "${testWith impl}")"
'') escapers)}
exit 1
''
The resulting output is the following:
Test results:
best: success
better: success
current: bash eval error
I did the "better" implementation just to illustrate that the method of
quoting only "harmful" characters results in madness in terms of
implementation and performance.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @edolstra, @zimbatm
2016-06-20 23:53:36 +02:00
zimbatm
31c158ad45
Merge pull request #16189 from zimbatm/usershell-config
...
User shell config
2016-06-19 23:36:45 +01:00
zimbatm
b0f8416c5c
Merge pull request #16180 from zimbatm/shell-escaping
...
Escape all shell arguments uniformly
2016-06-19 23:27:52 +01:00
Severen Redwood
915edac0ce
adapta-gtk-theme: Init at 3.21.2
2016-06-18 23:33:29 +12:00
Eelco Dolstra
f81fc6b5ac
Merge pull request #16289 from zimbatm/old-nix-cleanup
...
Remove unecessary branching on old nix versions
2016-06-17 14:38:42 +02:00
zimbatm
bec28d748c
Remove unecessary branching on old nix versions
...
All these builtins are available since 1.10 or earlier (1.10 being the
lib/minver.nix)
2016-06-17 11:06:48 +01:00
Franz Thoma
b60b7eeaab
i3-gaps: init at 4.12
2016-06-16 14:25:46 +01:00
Paweł Pacana
d2b58dd39a
buildkite-agent: init at 2.1.8
...
* nixos module included
* install compiled binary
* only one platform now
* limited config options
* relies on providing ssh keys for agent
2016-06-13 17:21:08 +01:00
zimbatm
2974b6f4c8
Use shell packages to select the user's shell
...
The string type is still available for backward-compatiblity.
2016-06-12 20:35:34 +01:00
zimbatm
28fa4a2f03
Escape all shell arguments uniformly
2016-06-12 18:11:37 +01:00
Joachim Fasting
589082646a
Merge pull request #16097 from mimadrid/update/klavaro-3.02
...
klavaro: 3.01 -> 3.02
2016-06-10 00:18:39 +02:00
mimadrid
830c748ea4
Add myself as maintainer
2016-06-09 23:41:17 +02:00
Chris Martin
d33bf90a6f
maintainers: add chris-martin
2016-06-04 13:20:13 -04:00
Joachim Fasting
e65698db0b
Merge pull request #15939 from ChrisJefferson/fix-gap
...
gap : 4.4.12 -> 4.8.3
2016-06-04 01:14:09 +02:00
Chris Jefferson
75f793bbb2
gap : 4.4.12 -> 4.8.3
2016-06-03 19:01:12 +01:00
obadz
4c5fdf42ed
nixos/modules/misc/version.nix: check that .git is a directory
...
That's not the case for git submodules
Fixes #15928
2016-06-03 13:38:41 +01:00
Ruslan Babayev
6d3fcd33d7
pktgen: init at 3.0.00
2016-06-02 02:12:06 -07:00
Eelco Dolstra
587473c574
Fix display of deprecated option definition warnings
...
Looks like this was accidentally left commented out by
5f077e2296
.
2016-06-01 12:55:46 +02:00
Paul Hendry
8ea1f2d36c
syncthing: 0.12.25 -> 0.13.4 ( #15730 )
...
* Rename v0.12.25 package from 'syncthing' to 'syncthing012'
* Remove syncthing011
2016-05-30 10:15:58 +02:00
Redvers Davies
2745b5a652
mtx: init at 1.3.12
2016-05-28 10:43:03 -04:00
Vladimír Čunát
f94a806c4a
properly fix the maintainer.matthewbauer problem
...
There was inconsisten usage of maintainers.matthewbauer and mbauer.
/cc @matthewbauer I chose the github identifier, as it's customary.
2016-05-27 15:58:41 +02:00
Vladimír Čunát
e4832c7541
Merge branch 'staging'
...
Includes a security update of libxml2.
2016-05-27 15:58:40 +02:00
Graham Christensen
f993e6543a
facetimehd, facetimehd-firmware: Add grahamc as a maintainer
2016-05-26 14:10:03 -05:00
Vladimír Čunát
81039713fa
Merge branch 'master' into staging
...
... to get the systemd update (rebuilding ~7k jobs).
2016-05-26 16:50:22 +02:00
Domen Kožar
1ab408e1da
lib.lists: fix fold example
2016-05-26 11:52:35 +01:00
Eelco Dolstra
b056948c00
Improve types.listOf error message
...
If an option value is not a list, you now get
The option value `bla' in `file.nix' is not a list.
rather than
value is a string while a list was expected, at .../nixpkgs/lib/lists.nix:49:56
2016-05-25 11:39:17 +02:00
obadz
47950b5353
modules/misc/version.nix: populate nixosRevision based on <nixpkgs/.git> when possible ( #15624 )
...
Example:
$ nixos-option system.nixosLabel
Value:
"16.09.git.4643ca1"
2016-05-24 23:34:28 +01:00
Vladimír Čunát
0b192a0976
Merge branch 'master' into staging
...
That's to get mesa rebuild from master, as it's nontrivial.
2016-05-23 09:02:10 +02:00
Vladimír Čunát
c4661e9643
Merge: make dev output references explicit
...
This is a rebase of most commits from #14766 ,
resolving conflicts and a few other evaluation problems.
2016-05-22 12:09:23 +02:00
NikolaMandic
9bc61f92ff
adding me to maintainers
2016-05-20 19:46:20 +00:00
Charles Strahan
5d54038771
maintainers: update cstrahan's email address
2016-05-19 15:51:04 -04:00
Vladimír Čunát
da2788c3d7
Merge #15354 : add tracefilegen and tracefilesim
2016-05-19 10:29:28 +02:00
Tuomas Tynkkynen
e28e010b36
treewide: Make explicit that 'dev' output of curl is used
2016-05-19 10:00:29 +02:00
Roger Qiu
83e9c5caaf
Added cmcdragonkai to the list of maintainers
2016-05-19 18:00:14 +10:00
Nikolay Amiantov
cdff1f61f0
lib: revert my bogus comment fix
...
See 5445e521b6 (commitcomment-17531945)
2016-05-19 01:26:04 +03:00
Nikolay Amiantov
5445e521b6
firefox: restore gstreamer support for older firefox releases
2016-05-19 00:28:49 +03:00
Domen Kožar
b49bf121b8
rename iElectric to domenkozar to match GitHub
2016-05-17 13:00:47 +01:00
Peter Simons
b4f60add6a
lib/maintainers.nix: alphabetize the list of user names
2016-05-16 22:49:55 +02:00
Peter Simons
8e462995ba
Bring my stdenv.lib.maintainers user name in line with my github nick.
2016-05-16 22:49:55 +02:00
obadz
abd64abdb5
maintainers: fix my email address
2016-05-16 20:09:45 +01:00
Sebastian Jordan
8484328a34
guile-sdl2: init at 0.1.0
2016-05-15 19:04:48 +02:00
Julien Dehos
6400283c09
cpputest: init at 3.7.2
2016-05-15 14:54:19 +02:00
Vladimír Čunát
3e387c3e00
Merge branch 'staging'
...
Darwin isn't in a perfect state, in particular its bootstrap tools won't
build which will block nixpkgs channel. But on the whole it seems
acceptable.
2016-05-13 10:14:53 +02:00
Frederik Rietdijk
53ffb3fcf1
Merge pull request #15414 from teh/dask
...
distributed: init at 1.10.0 (+init and update dependencies)
2016-05-12 18:06:34 +02:00
Tom Hunger
dacbeea15b
locket: init at 0.2.0
2016-05-12 17:04:40 +01:00
Vladimír Čunát
6c2fbfbd77
Merge branch 'master' into staging
2016-05-12 04:53:38 +02:00
Andrew Abbott
90201710a2
cava: update to 0.4.1
2016-05-11 20:40:03 +10:00