1
0
mirror of https://github.com/fafhrd91/actix-net synced 2024-11-27 22:32:57 +01:00

Add an error message if we receive a non-hostname-based dest

This is more helpful than an unwrap and at least points users at the right location.
Upstream issue is https://github.com/briansmith/webpki/issues/54
This commit is contained in:
Sven-Hendrik Haase 2019-10-04 07:30:13 +02:00
parent 2667850d60
commit f6f9e1fcdb
2 changed files with 3 additions and 1 deletions

View File

@ -94,7 +94,8 @@ where
fn call(&mut self, stream: Connection<T, U>) -> Self::Future { fn call(&mut self, stream: Connection<T, U>) -> Self::Future {
trace!("SSL Handshake start for: {:?}", stream.host()); trace!("SSL Handshake start for: {:?}", stream.host());
let (io, stream) = stream.replace(()); let (io, stream) = stream.replace(());
let host = DNSNameRef::try_from_ascii_str(stream.host()).unwrap(); let host = DNSNameRef::try_from_ascii_str(stream.host())
.expect("rustls currently only handles hostname-based connections. See https://github.com/briansmith/webpki/issues/54");
ConnectAsyncExt { ConnectAsyncExt {
fut: TlsConnector::from(self.connector.clone()).connect(host, io), fut: TlsConnector::from(self.connector.clone()).connect(host, io),
stream: Some(stream), stream: Some(stream),

View File

@ -42,6 +42,7 @@ fn test_rustls_string() {
let con = test::call_service(&mut conn, addr.into()); let con = test::call_service(&mut conn, addr.into());
assert_eq!(con.peer_addr().unwrap(), srv.addr()); assert_eq!(con.peer_addr().unwrap(), srv.addr());
} }
#[test] #[test]
fn test_static_str() { fn test_static_str() {
let srv = TestServer::with(|| { let srv = TestServer::with(|| {