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
Martijn Vermaat
3ada292a67
lesspipe: init at 1.82
...
lesspipe.sh is a preprocessor for less.
2016-05-10 22:21:42 +02:00
Vladimír Čunát
1dc36904d8
Merge #14920 : windows improvements, mainly mingw
2016-05-05 08:30:19 +02:00
zimbatm
0bc713f817
Merge pull request #15135 from gpyh/asciidoctor
...
asciidoctor: Init at 1.5.4
2016-05-04 20:42:26 +01:00
Tuomas Tynkkynen
aadaa91379
Merge remote-tracking branch 'upstream/master' into staging
...
Conflicts:
pkgs/applications/networking/browsers/vivaldi/default.nix
pkgs/misc/emulators/wine/base.nix
2016-05-03 23:12:48 +03:00
Nikolay Amiantov
7fec04cd7f
Merge pull request #15129 from rardiol/openra
...
openra: 20141029 -> 20151224
2016-05-02 16:28:20 +04:00
Joachim Fasting
ae59e8c644
Merge pull request #15062 from holidaycheck/node-6.0.0
...
nodejs-6_x : init at 6.0.0
2016-05-02 09:53:18 +02:00
Tobias Pflug
822abc49ad
nodejs-6_x : init at 6.0.0
2016-05-02 08:58:50 +02:00
ryneeverett
1e84b0c070
you-get: init at 0.4.390
2016-05-02 06:21:42 +00:00
Ricardo Ardissone
42cce6ab11
openra: my maintainership
2016-05-01 19:03:07 -03:00
Yacine Hmito
a5a98ce5a3
Added gpyh to the list of maintainers
2016-05-01 15:55:39 +02:00
Nathan Moos
6dac18a8be
imatix_gsl: init at 4.1
2016-04-28 18:26:10 -04:00
Tuomas Tynkkynen
4ff8f377af
Merge remote-tracking branch 'upstream/master' into staging
2016-04-28 00:13:53 +03:00
Allen Nelson
d7f032e805
Add new package "lsi" ( #12780 )
2016-04-26 12:24:25 +02:00
Nikolay Amiantov
5f19542581
Merge commit 'refs/pull/14694/head' of git://github.com/NixOS/nixpkgs into staging
2016-04-25 18:02:23 +03:00
Nikolay Amiantov
5ff40ddedf
add get* helper functions and mass-replace manual outputs search with them
2016-04-25 13:24:39 +03:00
Nikolay Amiantov
c779e30d53
make*Path: implement via makeSearchPathOutput
2016-04-25 13:24:39 +03:00
Nikolay Amiantov
ab0a0c004e
makeSearchPathOutputs: refactor to makeSearchPathOutput
2016-04-25 13:24:39 +03:00
Nikolay Amiantov
7d3e75827b
getOutput function: init
2016-04-25 13:22:41 +03:00
Nikolay Amiantov
5f3987f44f
Revert "tryAttrs: init function"
...
This reverts commit 338340f993
.
2016-04-25 13:22:41 +03:00
Rafał Łasocha
bea31c31f2
pws: Init at 1.0.6
2016-04-25 01:55:07 +02:00
obadz
5b5ce8dcff
fix my email address
2016-04-22 17:16:10 -05:00
Nikolay Amiantov
b2426adf1c
Merge pull request #14870 from retrry/rust-updates
...
Rust Updates
2016-04-22 14:29:14 +04:00
Andrew Burkett
0ddf8c7f6f
scrapy: init at 1.0.5
2016-04-21 16:09:18 -07:00
zimbatm
898d9d9e83
Merge pull request #14815 from choochootrain/add-xbanish
...
xbanish: init at 1.4
2016-04-20 11:36:20 +01:00
Tadas Barzdzius
fe901d1372
maintainers: add retrry to maintainers list
2016-04-20 12:39:14 +03:00
Hurshal Patel
9023722e77
xbanish: init at 1.4 👻
2016-04-19 23:33:38 -07:00
Alexey Shmalko
0ebe901035
avro-c++: Init at 1.7.5
2016-04-19 16:57:02 +03:00
Rahul Gopinath
29f895426c
vis: init vis at 0.2x (nightly)
...
Vis editor is a vim like editor.
This commit provides the initial package for vis (nightly)
2016-04-15 19:44:25 -05:00
Christian Lask
10b2ba56d3
maintainers: update mail address.
2016-04-15 23:07:07 +02:00
Myrl Hex
c73d14a39f
profont: init
2016-04-14 14:27:25 +03:00
Nikolay Amiantov
9b9fea305f
makeSearchPath (and derivatives): check outputUnspecified
2016-04-13 22:09:41 +03:00
Nikolay Amiantov
e26119619f
makePerlPath: try to guess outputs
2016-04-13 22:05:45 +03:00
Nikolay Amiantov
2a3b3d6f8b
makeSearchPathOutputs: init function
2016-04-13 22:05:45 +03:00
Nikolay Amiantov
338340f993
tryAttrs: init function
2016-04-13 22:05:45 +03:00
Nikolay Amiantov
5ef56700b9
makeBinPath: guess outputs
2016-04-13 22:05:45 +03:00
zimbatm
04267ed630
Merge pull request #14647 from MostAwesomeDude/tahoe
...
Tahoe-LAFS improvements
2016-04-13 16:39:53 +01:00
Vladimír Čunát
39ebb01d6e
Merge branch 'staging', containing closure-size #7701
2016-04-13 09:25:28 +02:00
Corbin
4c85efbda1
tahoe-lafs: 1.10.2 -> 1.11.0
...
Also add myself to maintainers, as I *do* care about this package.
2016-04-12 18:44:26 -07:00
joachifm
860aa01782
Merge pull request #14618 from moretea/update_mcrl2
...
Update mcrl2
2016-04-12 23:42:45 +02:00
joachifm
b0d2c0cade
Merge pull request #14613 from cransom/jp
...
Jp
2016-04-12 22:33:48 +02:00
Maarten Hoogendoorn
ec098aad41
mcrl2: 2009.01 -> 2014.09
2016-04-12 22:16:30 +02:00
Casey Ransom
800367ee37
Add @cransom as a maintainer
2016-04-11 23:51:34 -04:00
Tobias Geerinckx-Rice
57ef1712e3
Substite new GitHub username ‘timbertson’ for ‘gfxmonk’
2016-04-11 16:35:18 +02:00
Vladimír Čunát
30f14243c3
Merge branch 'master' into closure-size
...
Comparison to master evaluations on Hydra:
- 1255515 for nixos
- 1255502 for nixpkgs
2016-04-10 11:17:52 +02:00
joachifm
ddef34387d
Merge pull request #14518 from CrystalGamma/master
...
lombok: init at 1.16.8
2016-04-09 17:47:15 +02:00
Frederik Rietdijk
dddafe61eb
Merge pull request #14498 from expipiplus1/python-cgkit
...
pythonPackages.cgkit: init at 2.0.0
2016-04-09 11:51:15 +02:00
Jona Stubbe (CrystalGamma)
8430db7e17
lombok: init at 1.16.8
2016-04-09 10:00:08 +02:00
Vladimír Čunát
710573ce6d
Merge #12653 : rework default outputs
2016-04-07 16:00:09 +02:00
Vladimír Čunát
d1df28f8e5
Merge 'staging' into closure-size
...
This is mainly to get the update of bootstrap tools.
Otherwise there were mysterious segfaults:
https://github.com/NixOS/nixpkgs/pull/7701#issuecomment-203389817
2016-04-07 14:40:51 +02:00
Joe Hermaszewski
2be0505b8d
pythonPackages.cgkit: Add maintenance information
...
Add @expipiplus as a maintainer.
2016-04-07 11:34:53 +01:00
ldesgoui
f2a88f89c6
discord: init at 0.0.1
2016-04-05 13:17:43 +02:00
Eelco Dolstra
fd2273e419
Stronger warning against usage of splitString
2016-04-01 13:52:54 +02:00
Vladimír Čunát
ab15a62c68
Merge branch 'master' into closure-size
...
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
2016-04-01 10:06:01 +02:00