From 70674cae8b3d69d0e750125387b26c0d5857c5ba Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Tue, 12 Aug 2008 18:24:18 -0700 Subject: [PATCH] fix another bug when processing ssh key files that do not exist. --- debian/changelog | 5 ++++- src/common | 13 +++++++++---- src/monkeysphere-ssh-proxycommand | 2 +- ...ould-respect-keyserver-settings-in-gpg.conf | 18 ------------------ 4 files changed, 14 insertions(+), 24 deletions(-) delete mode 100644 website/bugs/monkeysphere-should-respect-keyserver-settings-in-gpg.conf diff --git a/debian/changelog b/debian/changelog index f6b69f8..d4fdf9c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,7 +6,10 @@ monkeysphere (0.8-1) UNRELEASED; urgency=low * More monkeysphere-server diagnostics * monkeysphere --gen-subkey now guesses what KeyID you meant. - -- Daniel Kahn Gillmor Thu, 07 Aug 2008 13:31:14 -0400 + [ Jameson Graef Rollins ] + * fix another bug for when ssh key files are missing. + + -- Jameson Graef Rollins Tue, 12 Aug 2008 17:58:09 -0700 monkeysphere (0.7-1) experimental; urgency=low diff --git a/src/common b/src/common index b4e786b..cbfa956 100644 --- a/src/common +++ b/src/common @@ -64,6 +64,11 @@ check_capability() { return 0 } +# hash of a file +file_hash() { + md5sum "$1" 2> /dev/null +} + # convert escaped characters from gpg output back into original # character # FIXME: undo all escape character translation in with-colons gpg output @@ -573,7 +578,7 @@ update_known_hosts() { lockfile-create "$KNOWN_HOSTS" # note pre update file checksum - fileCheck="$(cat "$KNOWN_HOSTS" | md5sum)" + fileCheck="$(file_hash "$KNOWN_HOSTS")" for host ; do # process the host @@ -596,7 +601,7 @@ update_known_hosts() { lockfile-remove "$KNOWN_HOSTS" # note if the known_hosts file was updated - if [ "$(cat "$KNOWN_HOSTS" | md5sum)" != "$fileCheck" ] ; then + if [ "$(file_hash "$KNOWN_HOSTS")" != "$fileCheck" ] ; then log "known_hosts file updated." fi @@ -711,7 +716,7 @@ update_authorized_keys() { lockfile-create "$AUTHORIZED_KEYS" # note pre update file checksum - fileCheck="$(cat "$AUTHORIZED_KEYS" | md5sum)" + fileCheck="$(file_hash "$AUTHORIZED_KEYS")" # remove any monkeysphere lines from authorized_keys file remove_monkeysphere_lines "$AUTHORIZED_KEYS" @@ -739,7 +744,7 @@ update_authorized_keys() { lockfile-remove "$AUTHORIZED_KEYS" # note if the authorized_keys file was updated - if [ "$(cat "$AUTHORIZED_KEYS" | md5sum)" != "$fileCheck" ] ; then + if [ "$(file_hash "$AUTHORIZED_KEYS")" != "$fileCheck" ] ; then log "authorized_keys file updated." fi diff --git a/src/monkeysphere-ssh-proxycommand b/src/monkeysphere-ssh-proxycommand index 438db87..780ff03 100755 --- a/src/monkeysphere-ssh-proxycommand +++ b/src/monkeysphere-ssh-proxycommand @@ -59,7 +59,7 @@ if gpg --list-key ="${URI}" 2>&1 >/dev/null ; then else # if the host key is found in the known_hosts file... # FIXME: this only works for default known_hosts location - hostKey=$(ssh-keygen -F "$HOST") + hostKey=$(ssh-keygen -F "$HOST" 2>/dev/null) if [ "$hostKey" ] ; then # do not check the keyserver diff --git a/website/bugs/monkeysphere-should-respect-keyserver-settings-in-gpg.conf b/website/bugs/monkeysphere-should-respect-keyserver-settings-in-gpg.conf deleted file mode 100644 index 31468bc..0000000 --- a/website/bugs/monkeysphere-should-respect-keyserver-settings-in-gpg.conf +++ /dev/null @@ -1,18 +0,0 @@ -[[meta title="Monkeysphere should consult keyserver setting in gpg.conf"]] - -Currently, monkeysphere-ssh-proxycommand checks the following places to -determine which keyserver to use (in order of priority): - - * environment variable (MONKEYSPHERE_KEYSERVER) - * KEYSERVER variable in ~/.config/monkeysphere/monkeysphere.conf - * default value of subkeys.pgp.net - -It would be useful if monkeysphere also consulted ~/.gnupg/gpg.conf, using the -following order instead: - - * environment variable (MONKEYSPHERE_KEYSERVER) - * KEYSERVER variable in ~/.config/monkeysphere/monkeysphere.conf - * keyserver variable in ~/.gnupg/gpg.conf - * default value of subkeys.pgp.net - -- Sir Jam Jam -- 2.26.2