This commit is contained in:
Aiden McClelland
2023-06-16 22:26:23 -06:00
committed by Aiden McClelland
parent b4c0d877cb
commit 10312d89d7
3 changed files with 11 additions and 31 deletions

View File

@@ -1,4 +1,4 @@
use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr};
use std::net::{Ipv6Addr, SocketAddr};
use std::path::{Path, PathBuf};
use std::sync::Arc;
use std::time::Duration;
@@ -61,10 +61,7 @@ async fn setup_or_init(cfg_path: Option<PathBuf>) -> Result<(), Error> {
let ctx = InstallContext::init(cfg_path).await?;
let server = WebServer::install(
[
SocketAddr::new(Ipv4Addr::UNSPECIFIED.into(), 80),
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
],
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
ctx.clone(),
)
.await?;
@@ -90,10 +87,7 @@ async fn setup_or_init(cfg_path: Option<PathBuf>) -> Result<(), Error> {
let ctx = SetupContext::init(cfg_path).await?;
let server = WebServer::setup(
[
SocketAddr::new(Ipv4Addr::UNSPECIFIED.into(), 80),
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
],
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
ctx.clone(),
)
.await?;
@@ -208,10 +202,7 @@ async fn inner_main(cfg_path: Option<PathBuf>) -> Result<Option<Shutdown>, Error
.await?;
let server = WebServer::diagnostic(
[
SocketAddr::new(Ipv4Addr::UNSPECIFIED.into(), 80),
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
],
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
ctx.clone(),
)
.await?;

View File

@@ -1,4 +1,4 @@
use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr};
use std::net::{Ipv6Addr, SocketAddr};
use std::path::{Path, PathBuf};
use std::sync::Arc;
@@ -28,10 +28,7 @@ async fn inner_main(cfg_path: Option<PathBuf>) -> Result<Option<Shutdown>, Error
.await?;
embassy::hostname::sync_hostname(&rpc_ctx.account.read().await.hostname).await?;
let server = WebServer::main(
[
SocketAddr::new(Ipv4Addr::UNSPECIFIED.into(), 80),
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
],
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
rpc_ctx.clone(),
)
.await?;
@@ -150,10 +147,7 @@ fn main() {
.await?;
let server = WebServer::diagnostic(
[
SocketAddr::new(Ipv4Addr::UNSPECIFIED.into(), 80),
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
],
SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 80),
ctx.clone(),
)
.await?;

View File

@@ -88,20 +88,15 @@ struct VHostServer {
impl VHostServer {
async fn new(port: u16, ssl: Arc<SslManager>) -> Result<Self, Error> {
// check if port allowed
let listeners = TcpListeners::new([
TcpListener::bind(SocketAddr::new(Ipv4Addr::UNSPECIFIED.into(), port))
.await
.with_kind(crate::ErrorKind::Network)?,
TcpListener::bind(SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), port))
.await
.with_kind(crate::ErrorKind::Network)?,
]);
let listener = TcpListener::bind(SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), port))
.await
.with_kind(crate::ErrorKind::Network)?;
let mapping = Arc::new(RwLock::new(BTreeMap::new()));
Ok(Self {
mapping: Arc::downgrade(&mapping),
_thread: tokio::spawn(async move {
loop {
match listeners.accept().await {
match listener.accept().await {
Ok((stream, _)) => {
let mut stream = BackTrackingReader::new(stream);
stream.start_buffering();