@@ -31,11 +31,11 @@ use deno_tls::create_client_config;
3131use deno_tls:: load_certs;
3232use deno_tls:: load_private_keys;
3333use deno_tls:: new_resolver;
34- use deno_tls:: rustls:: pki_types :: ServerName ;
34+ use deno_tls:: rustls:: Certificate ;
3535use deno_tls:: rustls:: ClientConnection ;
36+ use deno_tls:: rustls:: PrivateKey ;
3637use deno_tls:: rustls:: ServerConfig ;
37- use deno_tls:: webpki:: types:: CertificateDer ;
38- use deno_tls:: webpki:: types:: PrivateKeyDer ;
38+ use deno_tls:: rustls:: ServerName ;
3939use deno_tls:: ServerConfigProvider ;
4040use deno_tls:: SocketUse ;
4141use deno_tls:: TlsKey ;
@@ -48,6 +48,7 @@ use serde::Deserialize;
4848use std:: borrow:: Cow ;
4949use std:: cell:: RefCell ;
5050use std:: convert:: From ;
51+ use std:: convert:: TryFrom ;
5152use std:: fs:: File ;
5253use std:: io:: BufReader ;
5354use std:: io:: ErrorKind ;
@@ -303,14 +304,14 @@ where
303304{
304305 let rid = args. rid ;
305306 let hostname = match & * args. hostname {
306- "" => "localhost" . to_string ( ) ,
307- n => n. to_string ( ) ,
307+ "" => "localhost" ,
308+ n => n,
308309 } ;
309310
310311 {
311312 let mut s = state. borrow_mut ( ) ;
312313 let permissions = s. borrow_mut :: < NP > ( ) ;
313- permissions. check_net ( & ( & hostname, Some ( 0 ) ) , "Deno.startTls()" ) ?;
314+ permissions. check_net ( & ( hostname, Some ( 0 ) ) , "Deno.startTls()" ) ?;
314315 }
315316
316317 let ca_certs = args
@@ -319,8 +320,8 @@ where
319320 . map ( |s| s. into_bytes ( ) )
320321 . collect :: < Vec < _ > > ( ) ;
321322
322- let hostname_dns = ServerName :: try_from ( hostname . to_string ( ) )
323- . map_err ( |_| invalid_hostname ( & hostname) ) ?;
323+ let hostname_dns =
324+ ServerName :: try_from ( hostname ) . map_err ( |_| invalid_hostname ( hostname) ) ?;
324325
325326 let unsafely_ignore_certificate_errors = state
326327 . borrow ( )
@@ -421,9 +422,9 @@ where
421422 . borrow :: < DefaultTlsOptions > ( )
422423 . root_cert_store ( ) ?;
423424 let hostname_dns = if let Some ( server_name) = args. server_name {
424- ServerName :: try_from ( server_name)
425+ ServerName :: try_from ( server_name. as_str ( ) )
425426 } else {
426- ServerName :: try_from ( addr. hostname . clone ( ) )
427+ ServerName :: try_from ( & * addr. hostname )
427428 }
428429 . map_err ( |_| invalid_hostname ( & addr. hostname ) ) ?;
429430 let connect_addr = resolve_addr ( & addr. hostname , addr. port )
@@ -465,17 +466,15 @@ where
465466 Ok ( ( rid, IpAddr :: from ( local_addr) , IpAddr :: from ( remote_addr) ) )
466467}
467468
468- fn load_certs_from_file (
469- path : & str ,
470- ) -> Result < Vec < CertificateDer < ' static > > , AnyError > {
469+ fn load_certs_from_file ( path : & str ) -> Result < Vec < Certificate > , AnyError > {
471470 let cert_file = File :: open ( path) ?;
472471 let reader = & mut BufReader :: new ( cert_file) ;
473472 load_certs ( reader)
474473}
475474
476475fn load_private_keys_from_file (
477476 path : & str ,
478- ) -> Result < Vec < PrivateKeyDer < ' static > > , AnyError > {
477+ ) -> Result < Vec < PrivateKey > , AnyError > {
479478 let key_bytes = std:: fs:: read ( path) ?;
480479 load_private_keys ( & key_bytes)
481480}
@@ -524,6 +523,7 @@ where
524523 TlsKeys :: Null => Err ( anyhow ! ( "Deno.listenTls requires a key" ) ) ,
525524 TlsKeys :: Static ( TlsKey ( cert, key) ) => {
526525 let mut tls_config = ServerConfig :: builder ( )
526+ . with_safe_defaults ( )
527527 . with_no_client_auth ( )
528528 . with_single_cert ( cert, key)
529529 . map_err ( |e| anyhow ! ( e) ) ?;
0 commit comments