X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=src%2Fmonkeysphere;h=3f127e6f1c0f7dd49a2c08517814350d992ee602;hb=67f4058cf508cdb7063cff3f9d0597e2e4b37dce;hp=cb6c06c1907ac384a9450189bd2b82381f100994;hpb=de3031b28bbccd2cb47a9029e69064330ee137e8;p=monkeysphere.git diff --git a/src/monkeysphere b/src/monkeysphere index cb6c06c..3f127e6 100755 --- a/src/monkeysphere +++ b/src/monkeysphere @@ -90,24 +90,22 @@ gen_subkey(){ done keyID="$1" - - gpgOut=$(gpg --quiet --fixed-list-mode --list-keys --with-colons \ - "$keyID" 2> /dev/null) - - # fail if there only "tru" lines are output from gpg, which - # indicates the key was not found. - if [ -z "$(echo "$gpgOut" | grep -v '^tru:')" ] ; then - failure "Key ID '$keyID' not found." + if [ -z "$keyID" ] ; then + failure "You must specify the key ID of your primary key." fi - # fail if multiple pub lines are returned, which means the id given - # is not unique - if [ $(echo "$gpgOut" | grep '^pub:' | wc -l) -gt '1' ] ; then + # get key output, and fail if not found + gpgOut=$(gpg --quiet --fixed-list-mode --list-secret-keys --with-colons \ + "$keyID") || failure + + # fail if multiple sec lines are returned, which means the id + # given is not unique + if [ $(echo "$gpgOut" | grep '^sec:' | wc -l) -gt '1' ] ; then failure "Key ID '$keyID' is not unique." fi # prompt if an authentication subkey already exists - if echo "$gpgOut" | egrep "^(pub|sub):" | cut -d: -f 12 | grep -q a ; then + if echo "$gpgOut" | egrep "^(sec|ssb):" | cut -d: -f 12 | grep -q a ; then echo "An authentication subkey already exists for key '$keyID'." read -p "Are you sure you would like to generate another one? (y/N) " OK; OK=${OK:N} if [ "${OK/y/Y}" != 'Y' ] ; then @@ -218,8 +216,8 @@ case $COMMAND in # otherwise, if no hosts are specified, process every host # in the user's known_hosts file else - if [ ! -s "$KNOWN_HOSTS" ] ; then - failure "known_hosts file '$KNOWN_HOSTS' is empty or does not exist." + if [ ! -e "$KNOWN_HOSTS" ] ; then + failure "known_hosts file '$KNOWN_HOSTS' does not exist." fi process_known_hosts @@ -231,8 +229,8 @@ case $COMMAND in MODE='authorized_keys' # fail if the authorized_user_ids file is empty - if [ ! -s "$AUTHORIZED_USER_IDS" ] ; then - failure "authorized_user_ids file '$AUTHORIZED_USER_IDS' is empty or does not exist." + if [ ! -e "$AUTHORIZED_USER_IDS" ] ; then + failure "authorized_user_ids file '$AUTHORIZED_USER_IDS' does not exist." fi if ! check_key_file_permissions "$USER" "$AUTHORIZED_USER_IDS" ; then @@ -245,11 +243,7 @@ case $COMMAND in ;; 'gen-subkey'|'g') - keyID="$1" - if [ -z "$keyID" ] ; then - failure "You must specify the key ID of your primary key." - fi - gen_subkey "$keyID" + gen_subkey "$@" ;; 'help'|'h'|'?')