Kaynağa Gözat

tests/network_transports: Avoid TLS EOF panic.

parazyd 3 yıl önce
ebeveyn
işleme
cb4354e127

+ 1 - 2
src/net/transport/upgrade_tls.rs

@@ -102,8 +102,7 @@ impl TlsUpgrade {
         cert_params.key_pair = Some(rcgen::KeyPair::from_pem(&keypair_pem).unwrap());
 
         let certificate = rcgen::Certificate::from_params(cert_params).unwrap();
-        let certificate = certificate.serialize_der().unwrap();
-        let certificate = rustls::Certificate(certificate);
+        let certificate = rustls::Certificate(certificate.serialize_der().unwrap());
 
         let client_cert_verifier = Arc::new(ClientCertificateVerifier {});
         let server_config = Arc::new(

+ 8 - 1
tests/network_transports.rs

@@ -95,7 +95,14 @@ async fn tcp_tls_transport() {
             let stream = stream.unwrap();
             let stream = acceptor.accept(stream).await.unwrap();
             let (mut reader, mut writer) = smol::io::split(stream);
-            io::copy(&mut reader, &mut writer).await.unwrap();
+            match io::copy(&mut reader, &mut writer).await {
+                Ok(_) => {}
+                Err(e) => {
+                    if e.kind() != std::io::ErrorKind::UnexpectedEof {
+                        panic!("{}", e);
+                    }
+                }
+            }
         }
     });