]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Fix test error for /bin/sh on Solaris 10 and older
authorCarlos Rodríguez Gili <carlos.rodriguez-gili@upc.edu>
Tue, 20 Apr 2021 17:23:57 +0000 (19:23 +0200)
committerDarren Tucker <dtucker@dtucker.net>
Thu, 25 May 2023 08:24:42 +0000 (18:24 +1000)
On Solaris 10 and older targets /bin/sh is not POSIX-compliant.
Test -z `...` fails with error 'sh: test: argument expected'.
Using quotes around backticks fixes this and doesn't break
POSIX compatibility.

SSH-Copy-ID-Upstream: 98394072a3f985b2650c1e8eab2fef84e38cc065

contrib/ssh-copy-id

index 9c9b0fa5fd2c199e0114ce69ed6e4a123d950319..171c4e06ccab7660edafe5a0b67e1cca1b2ece0d 100644 (file)
@@ -1,6 +1,7 @@
 #!/bin/sh
 
 # Copyright (c) 1999-2023 Philip Hands <phil@hands.com>
+#               2021 Carlos Rodríguez Gili <carlos.rodriguez-gili@upc.edu>
 #               2020 Matthias Blümel <blaimi@blaimi.de>
 #               2017 Sebastien Boyron <seb@boyron.eu>
 #               2013 Martin Kletzander <mkletzan@redhat.com>
@@ -259,7 +260,7 @@ installkeys_sh() {
                AUTH_KEY_FILE=/etc/dropbear/authorized_keys;
        AUTH_KEY_DIR=\`dirname "\${AUTH_KEY_FILE}"\`;
        mkdir -p "\${AUTH_KEY_DIR}" &&
-               { [ -z \`tail -1c "\${AUTH_KEY_FILE}" 2>/dev/null\` ] ||
+               { [ -z "\`tail -1c "\${AUTH_KEY_FILE}" 2>/dev/null\`" ] ||
                        echo >> "\${AUTH_KEY_FILE}" || exit 1; } &&
                cat >> "\${AUTH_KEY_FILE}" || exit 1;
        if type restorecon >/dev/null 2>&1; then