g10: Don't skip legacy keys if the search mode is KEYDB_SEARCH_MODE_NEXT
authorNeal H. Walfield <neal@g10code.com>
Tue, 15 Sep 2015 12:45:18 +0000 (14:45 +0200)
committerNeal H. Walfield <neal@g10code.com>
Wed, 16 Sep 2015 13:15:25 +0000 (15:15 +0200)
* g10/getkey.c (lookup): Also don't skip legacy keys if the search
mode is KEYDB_SEARCH_MODE_NEXT.

--
Signed-off-by: Neal H. Walfield <neal@g10code.com>.
We currently don't skip keys if the search mode is
KEYDB_SEARCH_MODE_FIRST.  Since we change KEYDB_SEARCH_MODE_FIRST to
KEYDB_SEARCH_MODE_NEXT (to avoid a reset), it only makes sense to have
the same semantics for KEYDB_SEARCH_MODE_NEXT.

g10/getkey.c

index 27e2f7a..7e47b56 100644 (file)
@@ -2437,7 +2437,8 @@ lookup (getkey_ctx_t ctx, kbnode_t *ret_keyblock, kbnode_t *ret_found_key,
          then it would be harder to report the number of skipped
          legacy keys during import. */
       if (gpg_err_code (rc) == GPG_ERR_LEGACY_KEY
-          && !(ctx->nitems && ctx->items->mode == KEYDB_SEARCH_MODE_FIRST)
+          && !(ctx->nitems && (ctx->items->mode == KEYDB_SEARCH_MODE_FIRST
+                              || ctx->items->mode == KEYDB_SEARCH_MODE_NEXT))
           && !search_modes_are_fingerprint (ctx))
         continue;
       if (rc)