Merge commit 'jrollins/master'
[monkeysphere.git] / src / share / m / ssh_proxycommand
index d2b45278e1bd3c2e207b0895932f72e5659d0e9a..7ab4bec1331e265eb5b7185cc7eac0b6b753b871 100644 (file)
@@ -18,8 +18,9 @@
 # "marginal case" ouput in the case that there is not a full
 # validation path to the host
 output_no_valid_key() {
-    local sshKeyOffered
     local userID
+    local sshKeyOffered
+    local gpgOut
     local type
     local validity
     local keyid
@@ -29,9 +30,12 @@ output_no_valid_key() {
     local tmpkey
     local sshFingerprint
     local gpgSigOut
+    local returnCode=0
 
     userID="ssh://${HOSTP}"
 
+    LOG_PREFIX=
+
     cat <<EOF | log info
 -------------------- Monkeysphere warning -------------------
 Monkeysphere found OpenPGP keys for this hostname, but none had full validity.
@@ -66,7 +70,7 @@ EOF
 
                    sshKeyGPGFile=$(msmktempfile)
                    printf "%s" "$sshKeyGPG" >"$sshKeyGPGFile"
-                   sshFingerprint=$(ssh-keygen -l -f "$sshKeyGPGFile" \
+                   sshFingerprint=$(ssh-keygen -l -f "$sshKeyGPGFile" \
                        awk '{ print $2 }')
                    rm -f "$sshKeyGPGFile"
 
@@ -112,11 +116,11 @@ EOF
                fi
                ;;
        esac
-    done
+    done || returnCode="$?"
 
     # if no key match was made (and the "while read" subshell returned
     # 1) output how many keys were found
-    if (($? != 1)) ; then
+    if (( returnCode != 1 )) ; then
        cat <<EOF | log info
 None of the found keys matched the key offered by the host.
 Run the following command for more info about the found keys:
@@ -200,12 +204,13 @@ fi
 CHECK_KEYSERVER=${MONKEYSPHERE_CHECK_KEYSERVER:=$CHECK_KEYSERVER}
 
 # update the known_hosts file for the host
-update_known_hosts "$HOSTP"
+local returnCode=0
+update_known_hosts "$HOSTP" || returnCode="$?"
 
 # output on depending on the return of the update-known_hosts
 # subcommand, which is (ultimately) the return code of the
 # update_known_hosts function in common
-case $? in
+case "$returnCode" in
     0)
        # acceptable host key found so continue to ssh
        true