summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/monkeysphere6
-rw-r--r--src/share/ma/add_certifier12
-rw-r--r--src/share/mh/add_hostname6
-rw-r--r--src/share/mh/add_revoker16
-rw-r--r--src/share/mh/revoke_hostname6
-rwxr-xr-xtests/basic8
6 files changed, 32 insertions, 22 deletions
diff --git a/src/monkeysphere b/src/monkeysphere
index 0d8f4ff..371983f 100755
--- a/src/monkeysphere
+++ b/src/monkeysphere
@@ -87,9 +87,7 @@ check_gpg_sec_key_id() {
;;
*)
echo "Multiple primary secret keys found:"
- for key in $(echo "$gpgSecOut" | cut -d: -f5) ; do
- echo " $key"
- done
+ echo "$gpgSecOut" | cut -d: -f5
echo "Please specify which primary key to use."
failure
;;
@@ -124,7 +122,7 @@ check_gpg_authentication_subkey() {
fi
# if authentication key is valid, prompt to continue
if [ "$validity" = 'u' ] ; then
- echo "A valid authentication key already exists for primary key '$keyID'."
+ echo "A valid authentication key already exists for primary key '$keyID'." 1>&2
if [ "$PROMPT" = "true" ] ; then
read -p "Are you sure you would like to generate another one? (y/N) " OK; OK=${OK:N}
if [ "${OK/y/Y}" != 'Y' ] ; then
diff --git a/src/share/ma/add_certifier b/src/share/ma/add_certifier
index a48db64..6f85ecf 100644
--- a/src/share/ma/add_certifier
+++ b/src/share/ma/add_certifier
@@ -120,7 +120,17 @@ else
# get the full fingerprint of new certifier key
log debug "getting fingerprint of certifier key..."
fingerprint=$(gpg_sphere "--list-key --with-colons --with-fingerprint 0x${keyID}!" \
- | grep '^fpr:' | grep "$keyID" | cut -d: -f10)
+ | grep '^fpr:' | cut -d: -f10)
+
+ # test that there is only a single fingerprint
+ if (( $(echo "$fingerprint" | wc -l) != 1 )) ; then
+ cat <<EOF
+More than one fingerprint found:
+$fingerprint
+Please use a more specific key ID.
+EOF
+ failure
+ fi
log info "key found:"
gpg_sphere "--fingerprint 0x${fingerprint}!"
diff --git a/src/share/mh/add_hostname b/src/share/mh/add_hostname
index ec741ee..b08d688 100644
--- a/src/share/mh/add_hostname
+++ b/src/share/mh/add_hostname
@@ -32,11 +32,9 @@ find_host_userid > /dev/null && \
failure "Host userID '$userID' already exists."
if [ "$PROMPT" = "true" ] ; then
- cat <<EOF
-The following user ID will be added to the host key:
+ read -p "The following user ID will be added to the host key:
$userID
-EOF
- read -p "Are you sure you would like to add this user ID? (Y/n) " OK; OK=${OK:=Y}
+Are you sure you would like to add this user ID? (Y/n) " OK; OK=${OK:=Y}
if [ "${OK/y/Y}" != 'Y' ] ; then
failure "User ID not added."
fi
diff --git a/src/share/mh/add_revoker b/src/share/mh/add_revoker
index 18ad2b7..03ae56f 100644
--- a/src/share/mh/add_revoker
+++ b/src/share/mh/add_revoker
@@ -74,14 +74,24 @@ else
# get the full fingerprint of new revoker key
log debug "getting fingerprint of revoker key..."
fingerprint=$(su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --list-key --with-colons --with-fingerprint 0x${keyID}!" \
- | grep '^fpr:' | grep "$keyID" | cut -d: -f10)
+ | grep '^fpr:' | cut -d: -f10)
+
+ # test that there is only a single fingerprint
+ if (( $(echo "$fingerprint" | wc -l) != 1 )) ; then
+ cat <<EOF
+More than one fingerprint found:
+$fingerprint
+Please use a more specific key ID.
+EOF
+ failure
+ fi
log info "key found:"
su_monkeysphere_user "GNUPGHOME=$tmpDir gpg --fingerprint 0x${fingerprint}!"
if [ "$PROMPT" = "true" ] ; then
- echo "Are you sure you want to add the above key as a revoker"
- read -p "of the host key? (Y/n) " OK; OK=${OK:-Y}
+ read -p "Are you sure you want to add the above key as a revoker
+of the host key? (Y/n) " OK; OK=${OK:-Y}
if [ "${OK/y/Y}" != 'Y' ] ; then
failure "revoker not added."
fi
diff --git a/src/share/mh/revoke_hostname b/src/share/mh/revoke_hostname
index 1215828..2142af7 100644
--- a/src/share/mh/revoke_hostname
+++ b/src/share/mh/revoke_hostname
@@ -43,11 +43,9 @@ uidIndex=$(find_host_userid) || \
failure "No non-revoked user ID found matching '$userID'."
if [ "$PROMPT" = "true" ] ; then
- cat <<EOF
-The following host key user ID will be revoked:
+ read -p "The following host key user ID will be revoked:
$userID
-EOF
- read -p "Are you sure you would like to revoke this user ID? (Y/n) " OK; OK=${OK:=Y}
+Are you sure you would like to revoke this user ID? (Y/n) " OK; OK=${OK:=Y}
if [ "${OK/y/Y}" != 'Y' ] ; then
failure "User ID not revoked."
fi
diff --git a/tests/basic b/tests/basic
index c7c4b07..9c5b280 100755
--- a/tests/basic
+++ b/tests/basic
@@ -65,20 +65,16 @@ ssh_test() {
sleep 1
done
- set +e
-
# make a client connection to the socket
echo "##### starting ssh client..."
ssh-agent bash -c \
- "monkeysphere subkey-to-ssh-agent && ssh -F $TEMPDIR/testuser/.ssh/config testhost true"
- RETURN="$?"
+ "monkeysphere subkey-to-ssh-agent && ssh -F $TEMPDIR/testuser/.ssh/config testhost true" \
+ || RETURN="$?"
# kill the sshd process if it's still running
kill "$SSHD_PID"
SSHD_PID=
- set -e
-
echo "##### return $RETURN"
if [ "$RETURN" = "$CODE" ] ; then
echo "##### ssh connection test returned as desired"