diff options
author | Werner Koch <wk@gnupg.org> | 2009-03-06 18:31:27 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2009-03-06 18:31:27 +0100 |
commit | a9c317a95c440a083809346d61cdb78abff71b12 (patch) | |
tree | 6f5199efe8fba5473afc346f003abe74f6ab424e /sm/export.c | |
parent | New PIN Callback attributes in gpg-agent. (diff) | |
download | gnupg2-a9c317a95c440a083809346d61cdb78abff71b12.tar.xz gnupg2-a9c317a95c440a083809346d61cdb78abff71b12.zip |
New gpg-agent command to list key information.
Gpgsm does now print the S/N of cards.
Consider ephemeral keys during listing an export.
Diffstat (limited to 'sm/export.c')
-rw-r--r-- | sm/export.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/sm/export.c b/sm/export.c index fa2e9de1a..f8e23cec1 100644 --- a/sm/export.c +++ b/sm/export.c @@ -1,5 +1,5 @@ /* export.c - Export certificates and private keys. - * Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc. + * Copyright (C) 2002, 2003, 2004, 2007, 2009 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -37,11 +37,11 @@ /* A table to store a fingerprint as used in a duplicates table. We - don't need to hash here because a fingerprint is alrady a perfect + don't need to hash here because a fingerprint is already a perfect hash value. This we use the most significant bits to index the table and then use a linked list for the overflow. Possible - enhancement for very large number of certictates: Add a second - level table and then resort to a linked list. */ + enhancement for very large number of certificates: Add a second + level table and then resort to a linked list. */ struct duptable_s { struct duptable_s *next; @@ -192,18 +192,16 @@ gpgsm_export (ctrl_t ctrl, strlist_t names, FILE *fp, estream_t stream) } } - /* If all specifications are done by fingerprint, we switch to - ephemeral mode so that _all_ currently available and matching - certificates are exported. - - fixme: we should in this case keep a list of certificates to - avoid accidential export of duplicate certificates. */ + /* If all specifications are done by fingerprint or keygrip, we + switch to ephemeral mode so that _all_ currently available and + matching certificates are exported. */ if (names && ndesc) { for (i=0; (i < ndesc && (desc[i].mode == KEYDB_SEARCH_MODE_FPR || desc[i].mode == KEYDB_SEARCH_MODE_FPR20 - || desc[i].mode == KEYDB_SEARCH_MODE_FPR16)); i++) + || desc[i].mode == KEYDB_SEARCH_MODE_FPR16 + || desc[i].mode == KEYDB_SEARCH_MODE_KEYGRIP)); i++) ; if (i == ndesc) keydb_set_ephemeral (hd, 1); @@ -228,7 +226,7 @@ gpgsm_export (ctrl_t ctrl, strlist_t names, FILE *fp, estream_t stream) rc = insert_duptable (dtable, fpr, &exists); if (rc) { - log_error ("inserting into duplicates table fauiled: %s\n", + log_error ("inserting into duplicates table failed: %s\n", gpg_strerror (rc)); goto leave; } |