summaryrefslogtreecommitdiff
path: root/src/seckey2sshagent
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2008-08-05 14:14:07 -0400
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>2008-08-05 14:14:07 -0400
commita04f56a4b5d1020a25da1ff75f3835f194bd708c (patch)
tree8a4f04bf3afbb88cf26041d0876e419d07484bb2 /src/seckey2sshagent
parent5c4044146eb0869129b39451599104075c9f6c82 (diff)
working around https://bugs.g10code.com/gnupg/issue945 in seckey2sshagent
Diffstat (limited to 'src/seckey2sshagent')
-rwxr-xr-xsrc/seckey2sshagent7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/seckey2sshagent b/src/seckey2sshagent
index 2a98cf1..2febff8 100755
--- a/src/seckey2sshagent
+++ b/src/seckey2sshagent
@@ -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