working around https://bugs.g10code.com/gnupg/issue945 in seckey2sshagent
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Tue, 5 Aug 2008 18:14:07 +0000 (14:14 -0400)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Tue, 5 Aug 2008 18:14:07 +0000 (14:14 -0400)
src/seckey2sshagent

index 2a98cf16ae11afb7e5ae4a1f45a13e6817837ea5..2febff8d00a4144542b5a73bf1c0b62b6fec2e27 100755 (executable)
@@ -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