diff options
Diffstat (limited to 'g10/keyring.c')
-rw-r--r-- | g10/keyring.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/g10/keyring.c b/g10/keyring.c index 9a3638b3e..e9e3ffcd1 100644 --- a/g10/keyring.c +++ b/g10/keyring.c @@ -419,7 +419,19 @@ keyring_get_keyblock (KEYRING_HANDLE hd, KBNODE *ret_kb) continue; } if (gpg_err_code (rc) == GPG_ERR_LEGACY_KEY) - break; /* Upper layer needs to handle this. */ + { + if (in_cert) + /* It is not this key that is problematic, but the + following key. */ + { + rc = 0; + hd->found.n_packets --; + } + else + /* Upper layer needs to handle this. */ + ; + break; + } if (rc) { log_error ("keyring_get_keyblock: read error: %s\n", gpg_strerror (rc) ); |