From b7e17887ac20bc5916d830f5282b07f4c0360c2a Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Sat, 31 Jan 2009 17:30:11 -0500 Subject: break out monkeysphere-{host,authentication} subcommands into seperate scripts. MUCH MORE WORK NEEDED to get these working. --- src/subcommands/mh/add-hostname | 71 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 src/subcommands/mh/add-hostname (limited to 'src/subcommands/mh/add-hostname') diff --git a/src/subcommands/mh/add-hostname b/src/subcommands/mh/add-hostname new file mode 100755 index 0000000..fc1ae96 --- /dev/null +++ b/src/subcommands/mh/add-hostname @@ -0,0 +1,71 @@ +#!/usr/bin/env bash + +# Monkeysphere host add-hostname subcommand +# +# The monkeysphere scripts are written by: +# Jameson Rollins +# Jamie McClelland +# Daniel Kahn Gillmor +# +# They are Copyright 2008, and are all released under the GPL, version 3 +# or later. + +# add hostname user ID to server key + +local userID +local fingerprint +local tmpuidMatch +local line +local adduidCommand + +if [ -z "$1" ] ; then + failure "You must specify a hostname to add." +fi + +userID="ssh://${1}" + +fingerprint=$(fingerprint_server_key) + +# match to only ultimately trusted user IDs +tmpuidMatch="u:$(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 +if line=$(gpg_host --list-keys --with-colons --fixed-list-mode "0x${fingerprint}!" \ + | egrep '^(uid|uat):' | cut -f2,10 -d: | grep -n -x -F "$tmpuidMatch") ; then + failure "Host userID '$userID' already exists." +fi + +echo "The following user ID will be added to the host key:" +echo " $userID" +read -p "Are you sure you would like to add this user ID? (y/N) " OK; OK=${OK:=N} +if [ ${OK/y/Y} != 'Y' ] ; then + failure "User ID not added." +fi + +# edit-key script command to add user ID +adduidCommand=$(cat <