aboutsummaryrefslogtreecommitdiffstats
path: root/sm/keydb.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2014-10-09 19:01:49 +0000
committerWerner Koch <[email protected]>2014-10-09 19:01:49 +0000
commit2ca90f78cee91c43b8d538d1cb92728f8e1452d5 (patch)
tree2690fc51434a88b781e8efa836c72d51215fc42d /sm/keydb.c
parentgpg: Sync keylist output and warning messages. (diff)
downloadgnupg-2ca90f78cee91c43b8d538d1cb92728f8e1452d5.tar.gz
gnupg-2ca90f78cee91c43b8d538d1cb92728f8e1452d5.zip
gpg: Skip overlong keys and a print a warning.
* kbx/keybox-search.c (keybox_search): Add arg r_skipped and skip too long blobs. * sm/keydb.c (keydb_search): Call keybox_search with a dummy param. * g10/keydb.c (struct keydb_handle): Add field skipped_long_blobs. (keydb_search_reset): Reset that field. (keydb_search): Update that field. (keydb_get_skipped_counter): New. * g10/keylist.c (list_all): Print count of skipped keys. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'sm/keydb.c')
-rw-r--r--sm/keydb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sm/keydb.c b/sm/keydb.c
index fb0947a93..83e573f28 100644
--- a/sm/keydb.c
+++ b/sm/keydb.c
@@ -958,6 +958,7 @@ int
keydb_search (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC *desc, size_t ndesc)
{
int rc = -1;
+ unsigned long skipped;
if (!hd)
return gpg_error (GPG_ERR_INV_VALUE);
@@ -970,7 +971,8 @@ keydb_search (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC *desc, size_t ndesc)
BUG(); /* we should never see it here */
break;
case KEYDB_RESOURCE_TYPE_KEYBOX:
- rc = keybox_search (hd->active[hd->current].u.kr, desc, ndesc, NULL);
+ rc = keybox_search (hd->active[hd->current].u.kr, desc, ndesc,
+ NULL, &skipped);
break;
}
if (rc == -1) /* EOF -> switch to next resource */