X-Git-Url: https://codewiz.org/gitweb?p=monkeysphere.git;a=blobdiff_plain;f=src%2Fmonkeysphere-host;h=f5374bd1a607fdfc937e72822f99f1415713de49;hp=884c1b794524951d8ed90bb94339a5f2c9301952;hb=42f7fec024d11c2ff20299f73254eda5b06ed181;hpb=91fdd7dab0b3ea6dba4cc6f12083cba420610725 diff --git a/src/monkeysphere-host b/src/monkeysphere-host index 884c1b7..f5374bd 100755 --- a/src/monkeysphere-host +++ b/src/monkeysphere-host @@ -147,7 +147,7 @@ Service names should use fully-qualified domain names (FQDN), but the domain name you chose appears to only have the local part. For example: don't use 'ssh://foo' ; use 'ssh://foo.example.com' instead." - [[ "$name" =~ ^[a-z]([a-z0-9-]*[a-z0-9])?://[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.|((\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+))(:[1-9][0-9]{0,4})?$ ]] || \ + [[ "$name" =~ ^[a-z0-9]([a-z0-9-]*[a-z0-9])?://[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.|((\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+))(:[1-9][0-9]{0,4})?$ ]] || \ failure "Not a valid service name: '$name' Service names look like ://full.example.com[:], @@ -239,7 +239,7 @@ prompt_userid_exists() { if gpgOut=$(gpg_host_list_keys "=${userID}" 2>/dev/null) ; then fingerprint=$(echo "$gpgOut" | grep '^fpr:' | cut -d: -f10) if [ "$PROMPT" != "false" ] ; then - printf "Service name '%s' is already being used by key '%s'.\nAre you sure you want to use it again? (y/N) " "$fingerprint" "$userID" >&2 + printf "Service name '%s' is already being used by key '%s'.\nAre you sure you want to use it again? (y/N) " "$userID" "$fingerprint" >&2 read OK; OK=${OK:=N} if [ "${OK/y/Y}" != 'Y' ] ; then failure "Service name not added." @@ -256,18 +256,19 @@ multi_key() { shift local keys=$@ local i=0 - local fprs=($(list_primary_fingerprints <"$HOST_KEY_FILE")) local key check_no_keys + local fprs=($(list_primary_fingerprints <"$HOST_KEY_FILE")) + if [[ -z "$1" || "$1" == '--all' ]] ; then keys="${fprs[@]}" fi for key in $keys ; do if (( i++ > 0 )) ; then - echo "##############################" + printf "\n" fi "$cmd" "$key" done @@ -301,15 +302,16 @@ show_key() { # create the ssh key tmpssh="$GNUPGHOME"/ssh_host_key_rsa_pub - gpg --export "$fingerprint" 2>/dev/null \ + gpg --export --no-armor "$fingerprint" 2>/dev/null \ | openpgp2ssh 2>/dev/null >"$tmpssh" # list the host key info # FIXME: make no-show-keyring work so we don't have to do the grep'ing # FIXME: can we show uid validity somehow? gpg --list-keys --list-options show-unusable-uids "$fingerprint" 2>/dev/null \ - | grep -v "^${GNUPGHOME}/pubring.gpg$" \ - | egrep -v '^-+$' + | grep -v "^${GNUPGHOME}/pubring.gpg$" \ + | egrep -v '^-+$' \ + | grep -v '^$' # list revokers, if there are any revokers=$(gpg --list-keys --with-colons --fixed-list-mode "$fingerprint" \ @@ -319,7 +321,6 @@ show_key() { for key in $revokers ; do echo "revoker: $key" done - echo fi # list the pgp fingerprint @@ -378,7 +379,7 @@ COMMAND="$1" shift case $COMMAND in - 'import-key'|'i') + 'import-key'|'import'|'i') source "${MHSHAREDIR}/import_key" import_key "$@" ;; @@ -387,7 +388,7 @@ case $COMMAND in multi_key show_key "$@" ;; - 'set-expire'|'extend-key'|'e') + 'set-expire'|'extend-key'|'extend'|'e') source "${MHSHAREDIR}/set_expire" set_expire "$@" ;; @@ -426,7 +427,7 @@ case $COMMAND in update_pgp_pub_file ;; - 'version'|'v') + 'version'|'--version'|'v') version ;;