aboutsummaryrefslogtreecommitdiff
path: root/openssl/src/ssl/connector.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-11-01 18:59:35 -0700
committerGitHub <[email protected]>2016-11-01 18:59:35 -0700
commit77b76ed8a8e2c8e381d882c2faca7954a771074d (patch)
tree13c5df1bcfb4a215e8e67a470bfd1fd9d122b511 /openssl/src/ssl/connector.rs
parentMerge pull request #508 from simias/pkey (diff)
parentImplement X509StoreContextRef::get_chain (diff)
downloadrust-openssl-77b76ed8a8e2c8e381d882c2faca7954a771074d.tar.xz
rust-openssl-77b76ed8a8e2c8e381d882c2faca7954a771074d.zip
Merge pull request #506 from simias/stack
Implemented a generic Stack API and use it to deal with StackOf(X509) and StackOf(GENERAL_NAME)
Diffstat (limited to 'openssl/src/ssl/connector.rs')
-rw-r--r--openssl/src/ssl/connector.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/openssl/src/ssl/connector.rs b/openssl/src/ssl/connector.rs
index b2e00a81..c95b0fa1 100644
--- a/openssl/src/ssl/connector.rs
+++ b/openssl/src/ssl/connector.rs
@@ -256,7 +256,8 @@ mod verify {
use std::str;
use nid;
- use x509::{X509StoreContext, X509, GeneralNames, X509Name};
+ use x509::{X509StoreContext, X509, X509Name, GeneralName};
+ use stack::Stack;
use types::Ref;
pub fn verify_callback(domain: &str,
@@ -275,15 +276,16 @@ mod verify {
fn verify_hostname(domain: &str, cert: &Ref<X509>) -> bool {
match cert.subject_alt_names() {
- Some(names) => verify_subject_alt_names(domain, &names),
+ Some(names) => verify_subject_alt_names(domain, names),
None => verify_subject_name(domain, &cert.subject_name()),
}
}
- fn verify_subject_alt_names(domain: &str, names: &GeneralNames) -> bool {
+ fn verify_subject_alt_names(domain: &str,
+ names: Stack<GeneralName>) -> bool {
let ip = domain.parse();
- for name in names {
+ for name in &names {
match ip {
Ok(ip) => {
if let Some(actual) = name.ipaddress() {