| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
GoCD is an open source continuous delivery server specializing in advanced workflow
modeling and visualization. Update maintainers list to include swarren83. Update
module list to include gocd agent and server module. Update packages list to include
gocd agent and server package. Update version, revision and checksum for GoCD
release 16.5.0.
|
|\
| |
| | |
evilwm: init at 1.1.1 (#17104)
|
| |
| |
| |
| | |
Minimalist window manager for the X Window System
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is a first pass at adding an LFE package.
N.B. man pages are ignored for now.
|
| |
|
|
|
|
|
|
| |
* libqrencode: init at 3.4.4
* libqrencode: add maintainer
#16861
|
|
|
|
|
| |
Throwing a message like "removed 2016-02-29 because unused and broken"
is unhelpful because it doesn't show what function was removed.
|
| |
|
|\
| |
| | |
maphosts: init at 1.1.1
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
| |
"This projects aims at gathering/developing new completion scripts that
are not available in Zsh yet. The scripts are meant to be contributed to
the Zsh project when stable enough."
|
|\
| |
| | |
sift: init at 0.8.0
|
| |
| |
| |
| |
| |
| | |
sift is a fast and powerful alternative to grep.
https://sift-tool.org
|
|/ |
|
| |
|
|\
| |
| | |
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
|
|/ |
|
|\
| |
| | |
User shell config
|
| |
| |
| |
| | |
The string type is still available for backward-compatiblity.
|
|\ \
| | |
| | | |
Escape all shell arguments uniformly
|
| |/ |
|
| | |
|
|\ \
| | |
| | | |
Remove unecessary branching on old nix versions
|
| | |
| | |
| | |
| | |
| | | |
All these builtins are available since 1.10 or earlier (1.10 being the
lib/minver.nix)
|
|/ / |
|
|/
|
|
|
|
|
|
| |
* nixos module included
* install compiled binary
* only one platform now
* limited config options
* relies on providing ssh keys for agent
|
|\
| |
| | |
klavaro: 3.01 -> 3.02
|
| | |
|
| | |
|
|\ \
| | |
| | | |
gap : 4.4.12 -> 4.8.3
|
| |/ |
|
| |
| |
| |
| |
| | |
That's not the case for git submodules
Fixes #15928
|
|/ |
|
|
|
|
|
| |
Looks like this was accidentally left commented out by
5f077e229625583072ebf63ea48b11170771b0ed.
|
|
|
|
| |
* Rename v0.12.25 package from 'syncthing' to 'syncthing012'
* Remove syncthing011
|
| |
|
|
|
|
|
| |
There was inconsisten usage of maintainers.matthewbauer and mbauer.
/cc @matthewbauer I chose the github identifier, as it's customary.
|
|\
| |
| |
| | |
Includes a security update of libxml2.
|
| |\
| | |
| | |
| | | |
... to get the systemd update (rebuilding ~7k jobs).
|
| |\ \
| | | |
| | | |
| | | | |
That's to get mesa rebuild from master, as it's nontrivial.
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
This is a rebase of most commits from #14766,
resolving conflicts and a few other evaluation problems.
|
| | | | | |
|
| |_|_|/
|/| | | |
|