diff --git a/rustls-mio/examples/esniclient.rs b/rustls-mio/examples/esniclient.rs index 1a5b6e1830..86b1168e60 100644 --- a/rustls-mio/examples/esniclient.rs +++ b/rustls-mio/examples/esniclient.rs @@ -15,7 +15,7 @@ use trust_dns_resolver::config::*; use trust_dns_resolver::Resolver; fn main() { - let domain = "opaque.website"; + let domain = "canbe.esni.defo.ie"; println!("\nContacting {:?} over ESNI\n", domain); let dns_config = ResolverConfig::cloudflare_https(); @@ -30,7 +30,7 @@ fn main() { let dns_name = webpki::DNSNameRef::try_from_ascii_str(domain).unwrap(); let mut sess = rustls::ClientSession::new_with_esni(&Arc::new(config), dns_name, esni_hs); - let mut sock = TcpStream::connect(domain.to_owned() + ":443").unwrap(); + let mut sock = TcpStream::connect(domain.to_owned() + ":8443").unwrap(); let mut tls = rustls::Stream::new(&mut sess, &mut sock); let host_header = format!("Host: {}\r\n", domain); let mut headers = String::new(); @@ -56,7 +56,10 @@ fn main() { println!("read bytes: {}", success); }, Err(e) => { + stdout().write_all(&plaintext).unwrap(); + println!("failure to read the bytes: {:?}", e); + return; } } diff --git a/rustls/src/client/hs.rs b/rustls/src/client/hs.rs index 747ecf46c2..e035cc5403 100644 --- a/rustls/src/client/hs.rs +++ b/rustls/src/client/hs.rs @@ -237,16 +237,15 @@ fn emit_client_hello_for_retry(sess: &mut ClientSessionImpl, let esni_ext = ClientExtension::make_esni(handshake.dns_name.as_ref(), esni, ks_bytes, &handshake.randoms); if let Some(ext) = esni_ext { exts.push(ext); - //exts.push(ClientExtension::make_sni(handshake.dns_name.as_ref())); } - // TODO: what if ESNI fails? + + // TODO: what if ESNI fails? } } // TODO: what if ESNI is configured but there's no ESNI record? } else if sess.config.enable_sni { - println!("REGULAR SNI..."); exts.push(ClientExtension::make_sni(handshake.dns_name.as_ref())); } diff --git a/rustls/src/client/mod.rs b/rustls/src/client/mod.rs index 9af03e66b4..25c49f0cd5 100644 --- a/rustls/src/client/mod.rs +++ b/rustls/src/client/mod.rs @@ -614,7 +614,7 @@ impl ClientSession { /// encrypt the hostname in the ClientHello. pub fn new_with_esni(config: &Arc, hostname: webpki::DNSNameRef, esni: ESNIHandshakeData) -> ClientSession { let mut imp = ClientSessionImpl::new(config); - imp.start_handshake(hostname.into(), Some(esni),vec![]); + imp.start_handshake(hostname.into(), Some(esni), vec![]); ClientSession { imp } } diff --git a/rustls/src/esni.rs b/rustls/src/esni.rs index 06f4cc9266..0152b52a0a 100644 --- a/rustls/src/esni.rs +++ b/rustls/src/esni.rs @@ -456,4 +456,4 @@ mod tests { assert_eq!(expected.len(), encrypted.len()); assert!(crate::msgs::handshake::slice_eq(&expected, encrypted.as_slice())); } -} \ No newline at end of file +}