simplifying find_host_user_id function.
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Tue, 14 Jul 2009 06:00:23 +0000 (02:00 -0400)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Tue, 14 Jul 2009 06:00:23 +0000 (02:00 -0400)
src/monkeysphere-host
src/share/mh/add_hostname
src/share/mh/revoke_hostname

index 2bef23c51ee78f4fae544caeb1eaacdf6cb6c7ce..9dcd331d51c41c4577e17a919c36821e35faf638 100755 (executable)
@@ -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
index 37cfd3cfae5909728d147fe96664849d2539bcd5..136b6788ffbc9b700f1ea4110060c05a3f3684e1 100644 (file)
@@ -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
index b139cee0cdb4f6488a77797366ee5625fd16469c..b3b8d7a330481e70acfa17d7bc88f0670221d51d 100644 (file)
@@ -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