diff options
| author | Marco Huenseler <[email protected]> | 2018-06-03 15:37:18 +0200 |
|---|---|---|
| committer | Marco Huenseler <[email protected]> | 2018-06-03 15:38:46 +0200 |
| commit | 14b543934720132fd7c60b8bc842150cf3f17aaf (patch) | |
| tree | 837b68dcdb4a13a49fb02aae1ab72a8fbdf22dbc | |
| parent | Provide an Asn1Object getter method for X509NameEntryRef (diff) | |
| download | rust-openssl-14b543934720132fd7c60b8bc842150cf3f17aaf.tar.xz rust-openssl-14b543934720132fd7c60b8bc842150cf3f17aaf.zip | |
Rename X509NameRef::all_entries and refactor end-of-iterator checks
| -rw-r--r-- | openssl/src/x509/mod.rs | 12 | ||||
| -rw-r--r-- | openssl/src/x509/tests.rs | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs index 697aba6f..0b6c6b3d 100644 --- a/openssl/src/x509/mod.rs +++ b/openssl/src/x509/mod.rs @@ -826,7 +826,7 @@ impl X509NameRef { } /// Returns an iterator over all `X509NameEntry` values - pub fn all_entries<'a>(&'a self) -> X509NameEntries<'a> { + pub fn entries<'a>(&'a self) -> X509NameEntries<'a> { X509NameEntries { name: self, nid: None, @@ -854,17 +854,19 @@ impl<'a> Iterator for X509NameEntries<'a> { // There is a `Nid` specified to search for self.loc = ffi::X509_NAME_get_index_by_NID(self.name.as_ptr(), nid.as_raw(), self.loc); + if self.loc == -1 { + return None; + } } None => { // Iterate over all `Nid`s self.loc += 1; + if self.loc >= entry_count { + return None; + } } } - if self.loc == -1 || self.loc >= entry_count { - return None; - } - let entry = ffi::X509_NAME_get_entry(self.name.as_ptr(), self.loc); assert!(!entry.is_null()); diff --git a/openssl/src/x509/tests.rs b/openssl/src/x509/tests.rs index bfc50899..7b3f2569 100644 --- a/openssl/src/x509/tests.rs +++ b/openssl/src/x509/tests.rs @@ -84,7 +84,7 @@ fn test_nameref_iterator() { let cert = include_bytes!("../../test/nid_test_cert.pem"); let cert = X509::from_pem(cert).unwrap(); let subject = cert.subject_name(); - let mut all_entries = subject.all_entries(); + let mut all_entries = subject.entries(); let email = all_entries.next().unwrap(); assert_eq!(email.object().nid().as_raw(), Nid::PKCS9_EMAILADDRESS.as_raw()); |