X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fseckey2sshagent;h=4b765dc1aae94f16eb42b2654935a751bee98a1e;hb=dda1c93bc94daa24bf7b0f5671f8a222c0089efd;hp=2a98cf16ae11afb7e5ae4a1f45a13e6817837ea5;hpb=2221f122107dbae6a9b84cb7763625634fc1765d;p=monkeysphere.git diff --git a/src/seckey2sshagent b/src/seckey2sshagent index 2a98cf1..4b765dc 100755 --- a/src/seckey2sshagent +++ b/src/seckey2sshagent @@ -57,7 +57,7 @@ You can check on it with: # if no hex string is supplied, just print an explanation. # this covers seckey2sshagent --help, --usage, -h, etc... -if [ "$(echo "$1" | tr -d '0-9a-fA-F')" ]; then +if [ "$(echo "$1" | tr -d '0-9a-fA-F')" ]; then explanation exit fi @@ -67,8 +67,13 @@ trap cleanup EXIT GPGIDS="$1" if [ -z "$GPGIDS" ]; then + # hack: we need to get the list of secret keys, because if you + # --list-secret-keys with no arguments, GPG fails to print the + # capability flags (i've just filed this as + # https://bugs.g10code.com/gnupg/issue945) + KEYIDS=$(gpg2 --with-colons --list-secret-keys | grep ^sec | cut -f5 -d:) # default to using all fingerprints of authentication-enabled keys - GPGIDS=$(gpg --with-colons --fingerprint --fingerprint --list-secret-keys "$GPGID" | egrep -A1 '^(ssb|sec):.*:[^:]*a[^:]*:$' | grep ^fpr: | cut -d: -f10) + GPGIDS=$(gpg --with-colons --fingerprint --fingerprint --list-secret-keys $KEYIDS | egrep -A1 '^(ssb|sec):.*:[^:]*a[^:]*:$' | grep ^fpr: | cut -d: -f10) fi for GPGID in $GPGIDS; do