Rename X509NameRef::all_entries and refactor end-of-iterator checks
This commit is contained in:
parent
f5e6d57c47
commit
14b5439347
|
|
@ -826,7 +826,7 @@ impl X509NameRef {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns an iterator over all `X509NameEntry` values
|
/// 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 {
|
X509NameEntries {
|
||||||
name: self,
|
name: self,
|
||||||
nid: None,
|
nid: None,
|
||||||
|
|
@ -854,16 +854,18 @@ impl<'a> Iterator for X509NameEntries<'a> {
|
||||||
// There is a `Nid` specified to search for
|
// There is a `Nid` specified to search for
|
||||||
self.loc =
|
self.loc =
|
||||||
ffi::X509_NAME_get_index_by_NID(self.name.as_ptr(), nid.as_raw(), 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 => {
|
None => {
|
||||||
// Iterate over all `Nid`s
|
// Iterate over all `Nid`s
|
||||||
self.loc += 1;
|
self.loc += 1;
|
||||||
}
|
if self.loc >= entry_count {
|
||||||
}
|
|
||||||
|
|
||||||
if self.loc == -1 || self.loc >= entry_count {
|
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let entry = ffi::X509_NAME_get_entry(self.name.as_ptr(), self.loc);
|
let entry = ffi::X509_NAME_get_entry(self.name.as_ptr(), self.loc);
|
||||||
assert!(!entry.is_null());
|
assert!(!entry.is_null());
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ fn test_nameref_iterator() {
|
||||||
let cert = include_bytes!("../../test/nid_test_cert.pem");
|
let cert = include_bytes!("../../test/nid_test_cert.pem");
|
||||||
let cert = X509::from_pem(cert).unwrap();
|
let cert = X509::from_pem(cert).unwrap();
|
||||||
let subject = cert.subject_name();
|
let subject = cert.subject_name();
|
||||||
let mut all_entries = subject.all_entries();
|
let mut all_entries = subject.entries();
|
||||||
|
|
||||||
let email = all_entries.next().unwrap();
|
let email = all_entries.next().unwrap();
|
||||||
assert_eq!(email.object().nid().as_raw(), Nid::PKCS9_EMAILADDRESS.as_raw());
|
assert_eq!(email.object().nid().as_raw(), Nid::PKCS9_EMAILADDRESS.as_raw());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue