Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is not really ideal, but I think it's an improvement over the current behavior: Instead of arbitrarily and silently stopping in the middle of a keyring when we fail to parse a packet, we skip the failed packet and continue.
There is a remaining unfortunate issue, which is that the implied shape of the resulting keyring depends strictly on all appropriate packets being present; if we drop a certificate, e.g., but not the subsequent UIDs, they will appear to be on the wrong certificate.
On the other hand, I am still trying to track down at least one case where the current code appears to already have this problem (dropping a User Attribute packet containing a JPEG, but retaining the following signatures which appear to be on the preceding UID packet.)
Up to you whether you want to pull this or wait for me to figure out how to improve upon it (probably by allowing us to create placeholder objects for Certificates we can't parse.)