From 80f608dfb8cd0a59609f3c98834e44f0c78fffb0 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Tue, 14 Jul 2009 02:00:23 -0400 Subject: [PATCH] simplifying find_host_user_id function. --- src/monkeysphere-host | 22 ++++++---------------- src/share/mh/add_hostname | 2 +- src/share/mh/revoke_hostname | 3 +-- 3 files changed, 8 insertions(+), 19 deletions(-) diff --git a/src/monkeysphere-host b/src/monkeysphere-host index 2bef23c..9dcd331 100755 --- a/src/monkeysphere-host +++ b/src/monkeysphere-host @@ -134,28 +134,18 @@ check_host_no_key() { Please run 'monkeysphere-host import-key...' first." } -# output the index of a user ID on the host key -# return 1 if user ID not found +# return 0 if user ID was found. +# return 1 if user ID not found. find_host_userid() { local userID="$1" local tmpuidMatch - local line # match to only "unknown" user IDs (host has no need for ultimate trust) - tmpuidMatch="-:$(echo $userID | gpg_escape)" + tmpuidMatch="uid:-:$(echo $userID | gpg_escape)" - # find the index of the requsted user ID - # NOTE: this is based on circumstantial evidence that the order of - # this output is the appropriate index - line=$(gpg_host_list | egrep '^uid:' | cut -f2,10 -d: | \ - grep -n -x -F "$tmpuidMatch" 2>/dev/null) - - if [ "$line" ] ; then - echo ${line%%:*} - return 0 - else - return 1 - fi + # See whether the requsted user ID is present + gpg_host_list | cut -f1,2,10 -d: | \ + grep -q -x -F "$tmpuidMatch" 2>/dev/null } # show info about the host key diff --git a/src/share/mh/add_hostname b/src/share/mh/add_hostname index 37cfd3c..136b678 100644 --- a/src/share/mh/add_hostname +++ b/src/share/mh/add_hostname @@ -28,7 +28,7 @@ fi userID="ssh://${1}" # test that the desired user ID does not already exist -find_host_userid "$userID" > /dev/null && \ +find_host_userid "$userID" && \ failure "Host userID '$userID' already exists." if [ "$PROMPT" = "true" ] ; then diff --git a/src/share/mh/revoke_hostname b/src/share/mh/revoke_hostname index b139cee..b3b8d7a 100644 --- a/src/share/mh/revoke_hostname +++ b/src/share/mh/revoke_hostname @@ -19,7 +19,6 @@ local userID local fingerprint local tmpuidMatch local line -local uidIndex local message local revuidCommand @@ -30,7 +29,7 @@ fi userID="ssh://${1}" # make sure the user ID to revoke -uidIndex=$(find_host_userid "$userID") || \ +find_host_userid "$userID" || \ failure "No non-revoked user ID found matching '$userID'." if [ "$PROMPT" = "true" ] ; then -- 2.25.1