mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 02:11:53 +00:00
fix ipv6
This commit is contained in:
committed by
Aiden McClelland
parent
b4c0d877cb
commit
10312d89d7
@@ -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),
|
||||
],
|
||||
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),
|
||||
],
|
||||
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),
|
||||
],
|
||||
ctx.clone(),
|
||||
)
|
||||
.await?;
|
||||
|
||||
@@ -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),
|
||||
],
|
||||
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),
|
||||
],
|
||||
ctx.clone(),
|
||||
)
|
||||
.await?;
|
||||
|
||||
@@ -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))
|
||||
let listener = TcpListener::bind(SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), port))
|
||||
.await
|
||||
.with_kind(crate::ErrorKind::Network)?,
|
||||
TcpListener::bind(SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), port))
|
||||
.await
|
||||
.with_kind(crate::ErrorKind::Network)?,
|
||||
]);
|
||||
.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();
|
||||
|
||||
Reference in New Issue
Block a user