Unconditionally keep revocations when filtering UserIDs.

This commit is contained in:
Justus Winter 2019-03-11 09:42:40 +01:00
parent 50b89a6579
commit 77fb5a9669
No known key found for this signature in database
GPG Key ID: 686F55B4AB2B3386
1 changed files with 6 additions and 5 deletions

View File

@ -599,13 +599,14 @@ fn filter_userids<F>(tpk: &TPK, filter: F) -> Result<TPK>
// Updates for UserIDs fulfilling `filter`.
for uidb in tpk.userids() {
if ! filter(uidb.userid()) {
continue;
// Only include userids matching filter...
if filter(uidb.userid()) {
acc.push(uidb.userid().clone().into());
for s in uidb.selfsigs() { acc.push(s.clone().into()) }
for s in uidb.certifications() { acc.push(s.clone().into()) }
}
acc.push(uidb.userid().clone().into());
for s in uidb.selfsigs() { acc.push(s.clone().into()) }
for s in uidb.certifications() { acc.push(s.clone().into()) }
// ... but always keep revocations.
for s in uidb.self_revocations() { acc.push(s.clone().into()) }
for s in uidb.other_revocations() { acc.push(s.clone().into()) }
}