summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2009-02-19 04:30:47 -0500
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>2009-02-19 04:30:47 -0500
commit85c1f65ccd66be7f7ca939729f84bfab0603fdab (patch)
tree3ed25c27d0c12fd6ae3297cb73317e429ffbdc99
parentb73147ef2259d6596554db071e3f934bb5e7cbe5 (diff)
added msmktempfile; got rid of /dev/stdin assumption in ssh_proxycommand for portability
-rw-r--r--src/share/common9
-rw-r--r--src/share/m/ssh_proxycommand8
2 files changed, 11 insertions, 6 deletions
diff --git a/src/share/common b/src/share/common
index 1c16ac6..bfe73a3 100644
--- a/src/share/common
+++ b/src/share/common
@@ -149,9 +149,14 @@ cutline() {
head --line="$1" "$2" | tail -1
}
-# make a temporary directly
+# make a temporary directory
msmktempdir() {
- mktemp -d ${TMPDIR:-/tmp}/tmp.XXXXXXXXXX
+ mktemp -d ${TMPDIR:-/tmp}/monkeysphere.XXXXXXXXXX
+}
+
+# make a temporary file
+msmktempfile() {
+ mktemp ${TMPDIR:-/tmp}/monkeysphere.XXXXXXXXXX
}
# this is a wrapper for doing lock functions.
diff --git a/src/share/m/ssh_proxycommand b/src/share/m/ssh_proxycommand
index d7e801e..e07b637 100644
--- a/src/share/m/ssh_proxycommand
+++ b/src/share/m/ssh_proxycommand
@@ -64,11 +64,11 @@ An OpenPGP key matching the ssh key offered by the host was found:
EOF
- # do some crazy "Here Strings" redirection to get the key to
- # ssh-keygen, since it doesn't read from stdin cleanly
- sshFingerprint=$(ssh-keygen -l -f /dev/stdin \
- <<<$(echo "$sshKeyGPG") | \
+ sshKeyGPGFile=$(msmktempfile)
+ printf "%s" "$sshKeyGPG" >"$sshKeyGPGFile"
+ sshFingerprint=$(ssh-keygen -l -f "$sshKeyGPGFile" \
awk '{ print $2 }')
+ rm -f "$sshKeyGPGFile"
# get the sigs for the matching key
gpgSigOut=$(gpg --check-sigs \