mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
kbx: Let keydb_search skip unwanted blobs.
* kbx/keybox.h (keybox_blobtype_t): New. * kbx/keybox-defs.h (BLOBTYPE_*): Replace by KEYBOX_BLOBTYPE_*. * kbx/keybox-search.c (keybox_search): Add arg want_blobtype and skip non-matching blobs. * sm/keydb.c (keydb_search): Pass KEYBOX_BLOBTYPE_X509 to keybox_search. * g10/keydb.c (keydb_search): Pass KEYBOX_BLOBTYPE_PGP to keybox_search. -- Without this fix a listing of all keys would fail because the wrong blob type would be returned for the gpg or gpgsm. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
28ae8ad70b
commit
935edf88ab
9 changed files with 61 additions and 51 deletions
|
@ -56,6 +56,14 @@ typedef enum
|
|||
#define KEYBOX_FLAG_BLOB_SECRET 1
|
||||
#define KEYBOX_FLAG_BLOB_EPHEMERAL 2
|
||||
|
||||
/* The keybox blob types. */
|
||||
typedef enum
|
||||
{
|
||||
KEYBOX_BLOBTYPE_EMPTY = 0,
|
||||
KEYBOX_BLOBTYPE_HEADER = 1,
|
||||
KEYBOX_BLOBTYPE_PGP = 2,
|
||||
KEYBOX_BLOBTYPE_X509 = 3
|
||||
} keybox_blobtype_t;
|
||||
|
||||
|
||||
/*-- keybox-init.c --*/
|
||||
|
@ -87,6 +95,7 @@ int keybox_get_flags (KEYBOX_HANDLE hd, int what, int idx, unsigned int *value);
|
|||
|
||||
int keybox_search_reset (KEYBOX_HANDLE hd);
|
||||
int keybox_search (KEYBOX_HANDLE hd, KEYBOX_SEARCH_DESC *desc, size_t ndesc,
|
||||
keybox_blobtype_t want_blobtype,
|
||||
size_t *r_descindex, unsigned long *r_skipped);
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue