diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2015-07-10 22:48:05 +0200 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2015-07-15 00:46:43 +0200 |
commit | 83d2a11d860133166ddc22a1551589cfe2476c7f (patch) | |
tree | 84d9be35ebbd99e20a99151b0713ac3351ca77f4 /components/net | |
parent | 64751b8eef5b95de9ac3b9a382b4cb4408cb90c0 (diff) | |
download | servo-83d2a11d860133166ddc22a1551589cfe2476c7f.tar.gz servo-83d2a11d860133166ddc22a1551589cfe2476c7f.zip |
Upgrade to rustc 1.3.0-dev (fddfd089b 2015-07-10)
Diffstat (limited to 'components/net')
-rw-r--r-- | components/net/Cargo.toml | 2 | ||||
-rw-r--r-- | components/net/fetch/request.rs | 2 | ||||
-rw-r--r-- | components/net/http_loader.rs | 24 | ||||
-rw-r--r-- | components/net/resource_task.rs | 2 |
4 files changed, 13 insertions, 17 deletions
diff --git a/components/net/Cargo.toml b/components/net/Cargo.toml index b99d107d038..17d3ee06d61 100644 --- a/components/net/Cargo.toml +++ b/components/net/Cargo.toml @@ -28,7 +28,7 @@ rustc-serialize = "0.3" cookie="*" regex = "0.1.14" regex_macros = "0.1.8" -hyper = "0.5" +hyper = "0.6" flate2 = "0.2.0" uuid = "0.1.16" euclid = "0.1" diff --git a/components/net/fetch/request.rs b/components/net/fetch/request.rs index 4add42400fc..7f689a28df0 100644 --- a/components/net/fetch/request.rs +++ b/components/net/fetch/request.rs @@ -7,7 +7,7 @@ use hyper::method::Method; use hyper::mime::{Mime, TopLevel, SubLevel, Attr, Value}; use hyper::header::{Header, Headers, ContentType, IfModifiedSince, IfNoneMatch}; use hyper::header::{Accept, IfUnmodifiedSince, IfMatch, IfRange, Location}; -use hyper::header::{HeaderView, AcceptLanguage, ContentLanguage, Language}; +use hyper::header::{HeaderView, AcceptLanguage, ContentLanguage}; use hyper::header::{QualityItem, qitem, q}; use hyper::status::StatusCode; use fetch::cors_cache::{CORSCache, CacheRequestDetails}; diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index 65f9f335844..9b422ea07d3 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -17,10 +17,10 @@ use hyper::header::{AcceptEncoding, Accept, ContentLength, ContentType, Host, Lo use hyper::Error as HttpError; use hyper::method::Method; use hyper::mime::{Mime, TopLevel, SubLevel}; -use hyper::net::HttpConnector; +use hyper::net::{HttpConnector, HttpsConnector, Openssl}; use hyper::status::{StatusCode, StatusClass}; use std::error::Error; -use openssl::ssl::{SslContext, SSL_VERIFY_PEER}; +use openssl::ssl::{SslContext, SslMethod, SSL_VERIFY_PEER}; use std::io::{self, Read, Write}; use std::sync::Arc; use std::sync::mpsc::{Sender, channel}; @@ -117,24 +117,20 @@ fn load(mut load_data: LoadData, start_chan: LoadConsumer, classifier: Arc<MIMEC info!("requesting {}", url.serialize()); - fn verifier(ssl: &mut SslContext) { - ssl.set_verify(SSL_VERIFY_PEER, None); - let mut certs = resources_dir_path(); - certs.push("certs"); - ssl.set_CA_file(&certs).unwrap(); - }; - let ssl_err_string = "Some(OpenSslErrors([UnknownError { library: \"SSL routines\", \ function: \"SSL3_GET_SERVER_CERTIFICATE\", \ reason: \"certificate verify failed\" }]))"; - let mut connector = if opts::get().nossl { - HttpConnector(None) + let req = if opts::get().nossl { + Request::with_connector(load_data.method.clone(), url.clone(), &HttpConnector) } else { - HttpConnector(Some(box verifier as Box<Fn(&mut SslContext) + Send>)) + let mut context = SslContext::new(SslMethod::Sslv23).unwrap(); + context.set_verify(SSL_VERIFY_PEER, None); + context.set_CA_file(&resources_dir_path().join("certs")).unwrap(); + Request::with_connector(load_data.method.clone(), url.clone(), + &HttpsConnector::new(Openssl { context: Arc::new(context) })) }; - - let mut req = match Request::with_connector(load_data.method.clone(), url.clone(), &mut connector) { + let mut req = match req { Ok(req) => req, Err(HttpError::Io(ref io_error)) if ( io_error.kind() == io::ErrorKind::Other && diff --git a/components/net/resource_task.rs b/components/net/resource_task.rs index 10eb26e8bde..7c97b5449b1 100644 --- a/components/net/resource_task.rs +++ b/components/net/resource_task.rs @@ -233,7 +233,7 @@ impl ResourceManager { } ControlMsg::SetCookiesForUrl(request, cookie_list, source) => { let header = Header::parse_header(&[cookie_list.into_bytes()]); - if let Some(SetCookie(cookies)) = header { + if let Ok(SetCookie(cookies)) = header { for bare_cookie in cookies.into_iter() { if let Some(cookie) = cookie::Cookie::new_wrapped(bare_cookie, &request, source) { self.cookie_storage.push(cookie, source); |