diff options
author | aszlig <aszlig@redmoonstudios.org> | 2014-02-16 01:42:10 +0100 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2014-02-26 04:51:57 +0100 |
commit | aa65a7057f3abba32726ed17853090bcb86992f9 (patch) | |
tree | 9029804d58d42bad67deab27105cf4e5ae569cfc /pkgs/build-support/vm | |
parent | cfa859d79222d034a9fe493192150b80faae4ee8 (diff) | |
download | nixlib-aa65a7057f3abba32726ed17853090bcb86992f9.tar nixlib-aa65a7057f3abba32726ed17853090bcb86992f9.tar.gz nixlib-aa65a7057f3abba32726ed17853090bcb86992f9.tar.bz2 nixlib-aa65a7057f3abba32726ed17853090bcb86992f9.tar.lz nixlib-aa65a7057f3abba32726ed17853090bcb86992f9.tar.xz nixlib-aa65a7057f3abba32726ed17853090bcb86992f9.tar.zst nixlib-aa65a7057f3abba32726ed17853090bcb86992f9.zip |
vm/windows: Properly escape shell command.
Security-wise it's not a big issue because we're still sandboxed, but I really don't want to write something like \\\\\\\\192.168.0.2\\\\share in order to set up network shares. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs/build-support/vm')
-rw-r--r-- | pkgs/build-support/vm/windows/controller/default.nix | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pkgs/build-support/vm/windows/controller/default.nix b/pkgs/build-support/vm/windows/controller/default.nix index 22451e0e3947..6abf87f82c87 100644 --- a/pkgs/build-support/vm/windows/controller/default.nix +++ b/pkgs/build-support/vm/windows/controller/default.nix @@ -57,6 +57,8 @@ let }; }; + shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'"; + initScript = writeScript "init.sh" ('' #!${stdenv.shell} ${coreutils}/bin/mkdir -p /etc/samba /etc/samba/private /var/lib/samba @@ -104,7 +106,7 @@ let -o StrictHostKeyChecking=no \ -i /ssh.key \ -l Administrator \ - 192.168.0.1 -- "${command}" + 192.168.0.1 -- ${shellEscape command} ${busybox}/sbin/poweroff -f '')); |