summaryrefslogtreecommitdiff
path: root/ext/net/raw.rs
diff options
context:
space:
mode:
authorMatt Mastracci <matthew@mastracci.com>2023-11-15 16:12:46 -0700
committerGitHub <noreply@github.com>2023-11-15 16:12:46 -0700
commit6b42cecc064d01d87aae978ecd7eb372bfe9a34e (patch)
tree3fb7f0e4be0c1e8184dde61f96324c7a8419d6b9 /ext/net/raw.rs
parent40726721e287b2d6c44839d9081dccb408886cab (diff)
feat(ext/net): use rustls_tokio_stream (#21205)
Fixes #21121 and #19498 Migrates fully to rustls_tokio_stream. We no longer need to maintain our own TlsStream implementation to properly support duplex. This should fix a number of errors with TLS and websockets, HTTP and "other" places where it's failing.
Diffstat (limited to 'ext/net/raw.rs')
-rw-r--r--ext/net/raw.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/ext/net/raw.rs b/ext/net/raw.rs
index 0c92c4670..9bdea4191 100644
--- a/ext/net/raw.rs
+++ b/ext/net/raw.rs
@@ -4,8 +4,8 @@ use crate::io::TcpStreamResource;
use crate::io::UnixStreamResource;
use crate::ops::TcpListenerResource;
use crate::ops_tls::TlsListenerResource;
-use crate::ops_tls::TlsStream;
use crate::ops_tls::TlsStreamResource;
+use crate::ops_tls::TLS_BUFFER_SIZE;
#[cfg(unix)]
use crate::ops_unix::UnixListenerResource;
use deno_core::error::bad_resource;
@@ -15,6 +15,7 @@ use deno_core::ResourceId;
use deno_core::ResourceTable;
use deno_tls::rustls::ServerConfig;
use pin_project::pin_project;
+use rustls_tokio_stream::TlsStream;
use std::rc::Rc;
use std::sync::Arc;
use tokio::net::TcpStream;
@@ -187,7 +188,11 @@ impl NetworkStreamListener {
}
Self::Tls(tcp, config) => {
let (stream, _addr) = tcp.accept().await?;
- NetworkStream::Tls(TlsStream::new_server_side(stream, config.clone()))
+ NetworkStream::Tls(TlsStream::new_server_side(
+ stream,
+ config.clone(),
+ TLS_BUFFER_SIZE,
+ ))
}
#[cfg(unix)]
Self::Unix(unix) => {
@@ -242,7 +247,7 @@ pub fn take_network_stream_resource(
let resource = Rc::try_unwrap(resource_rc)
.map_err(|_| bad_resource("TLS stream is currently in use"))?;
let (read_half, write_half) = resource.into_inner();
- let tls_stream = read_half.reunite(write_half);
+ let tls_stream = read_half.unsplit(write_half);
return Ok(NetworkStream::Tls(tls_stream));
}