aboutsummaryrefslogtreecommitdiffstats
path: root/components/net
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2015-07-10 22:48:05 +0200
committerSimon Sapin <simon.sapin@exyr.org>2015-07-15 00:46:43 +0200
commit83d2a11d860133166ddc22a1551589cfe2476c7f (patch)
tree84d9be35ebbd99e20a99151b0713ac3351ca77f4 /components/net
parent64751b8eef5b95de9ac3b9a382b4cb4408cb90c0 (diff)
downloadservo-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.toml2
-rw-r--r--components/net/fetch/request.rs2
-rw-r--r--components/net/http_loader.rs24
-rw-r--r--components/net/resource_task.rs2
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);