diff options
author | Werner Koch <[email protected]> | 2015-01-22 15:36:28 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2015-01-22 15:36:28 +0000 |
commit | 09e8f35d3808d6e49f891360c341aae3869e8650 (patch) | |
tree | b2260c1e987a48f4ab556a4b781fe3a50c262b27 /g10/trustdb.c | |
parent | gpg: Add dedicated error code for PGP-2 keys. (diff) | |
download | gnupg-09e8f35d3808d6e49f891360c341aae3869e8650.tar.gz gnupg-09e8f35d3808d6e49f891360c341aae3869e8650.zip |
gpg: Improve skipping of PGP-2 keys.
* g10/keydb.c (keydb_search_first, keydb_search_next): Skip legacy
keys.
* g10/keyring.c (keyring_get_keyblock): Handle GPG_ERR_LEGACY_KEY.
(prepare_search): Ditto.
(keyring_rebuild_cache): Skip legacy keys.
* g10/keyserver.c (keyidlist): Ditto.
* g10/trustdb.c (validate_key_list): Ditto.
--
This is not the most elegant way to handle it but it reduces the
chance for unwanted side effects.
GnuPG-bug-id: 1816
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | g10/trustdb.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/g10/trustdb.c b/g10/trustdb.c index 84179f0b0..08f6cf4a1 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -1604,6 +1604,9 @@ validate_key_list (KEYDB_HANDLE hd, KeyHashTable full_trust, { PKT_public_key *pk; + if (gpg_err_code (rc) == GPG_ERR_LEGACY_KEY) + continue; + rc = keydb_get_keyblock (hd, &keyblock); if (rc) { @@ -1660,7 +1663,8 @@ validate_key_list (KEYDB_HANDLE hd, KeyHashTable full_trust, release_kbnode (keyblock); keyblock = NULL; } - while (!(rc = keydb_search (hd, &desc, 1, NULL))); + while (!(rc = keydb_search (hd, &desc, 1, NULL)) + || gpg_err_code (rc) == GPG_ERR_LEGACY_KEY); if (rc && gpg_err_code (rc) != GPG_ERR_NOT_FOUND) { |