diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2020-11-17 17:15:00 +0100 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2020-11-18 11:27:21 +0100 |
commit | df9251ae12f937aa16645e143e06be647a690cfd (patch) | |
tree | 74e380fe52dc5f2a85a6cd02253138b2ac920355 /openpgp/src/cert.rs | |
parent | 0bcdaa26f0e2201add9795b55c587bf384f3183e (diff) |
openpgp: Return iterator over bad signatures.
- This allows us to store verification errors with the signatures.
- See #619.
Diffstat (limited to 'openpgp/src/cert.rs')
-rw-r--r-- | openpgp/src/cert.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/openpgp/src/cert.rs b/openpgp/src/cert.rs index 73453e07..1b32d87f 100644 --- a/openpgp/src/cert.rs +++ b/openpgp/src/cert.rs @@ -1205,13 +1205,13 @@ impl Cert { /// # .generate()?; /// println!("{}'s has {} bad signatures.", /// cert.fingerprint(), - /// cert.bad_signatures().len()); - /// # assert_eq!(cert.bad_signatures().len(), 0); + /// cert.bad_signatures().count()); + /// # assert_eq!(cert.bad_signatures().count(), 0); /// # Ok(()) /// # } /// ``` - pub fn bad_signatures(&self) -> &[Signature] { - &self.bad + pub fn bad_signatures(&self) -> impl Iterator<Item = &Signature> { + self.bad.iter() } /// Returns a list of any designated revokers for this certificate. @@ -5611,7 +5611,7 @@ Pu1xwz57O4zo1VYf6TqHJzVC3OMvMUM2hhdecMUe5x6GorNaj6g= assert_eq!(cert.userids().count(), 1); assert_eq!(cert.subkeys().count(), 1); assert_eq!(cert.unknowns().count(), 0); - assert_eq!(cert.bad_signatures().len(), 0); + assert_eq!(cert.bad_signatures().count(), 0); assert_eq!(cert.userids().nth(0).unwrap().self_signatures().len(), 1); assert_eq!(cert.subkeys().nth(0).unwrap().self_signatures().len(), 1); @@ -5635,7 +5635,7 @@ Pu1xwz57O4zo1VYf6TqHJzVC3OMvMUM2hhdecMUe5x6GorNaj6g= assert_eq!(cert.userids().count(), 1); assert_eq!(cert.subkeys().count(), 1); assert_eq!(cert.unknowns().count(), 0); - assert_eq!(cert.bad_signatures().len(), 0); + assert_eq!(cert.bad_signatures().count(), 0); assert_eq!(cert.userids().nth(0).unwrap().self_signatures().len(), 1); assert_eq!(cert.subkeys().nth(0).unwrap().self_signatures().len(), 1); @@ -5688,7 +5688,7 @@ Pu1xwz57O4zo1VYf6TqHJzVC3OMvMUM2hhdecMUe5x6GorNaj6g= assert_eq!(malicious_cert.with_policy(p, None)?.keys().subkeys() .for_signing().count(), 0); // Instead, it should be considered bad. - assert_eq!(malicious_cert.bad_signatures().len(), 1); + assert_eq!(malicious_cert.bad_signatures().count(), 1); Ok(()) } @@ -5744,7 +5744,7 @@ Pu1xwz57O4zo1VYf6TqHJzVC3OMvMUM2hhdecMUe5x6GorNaj6g= let p = &crate::policy::StandardPolicy::new(); assert_eq!(malicious_cert.with_policy(p, None)?.keys().subkeys() .for_signing().count(), 1); - assert_eq!(malicious_cert.bad_signatures().len(), 0); + assert_eq!(malicious_cert.bad_signatures().count(), 0); // Now try to merge it in. let merged = cert.clone().merge(malicious_cert.clone())?; |