move hostname function to utils

This commit is contained in:
Luna Yao
2026-04-20 00:51:59 +02:00
parent 11626d8082
commit 524c8d9987
3 changed files with 11 additions and 14 deletions
+2 -8
View File
@@ -22,6 +22,7 @@ use crate::{
common::{CompressionAlgoPb, PortForwardConfigPb, SecureModeConfig, SocketType}, common::{CompressionAlgoPb, PortForwardConfigPb, SecureModeConfig, SocketType},
}, },
tunnel::generate_digest_from_str, tunnel::generate_digest_from_str,
utils,
}; };
pub type Flags = crate::proto::common::FlagsInConfig; pub type Flags = crate::proto::common::FlagsInConfig;
@@ -580,14 +581,7 @@ impl ConfigLoader for TomlConfigLoader {
.filter(|h| !h.is_empty()); .filter(|h| !h.is_empty());
self.set_hostname(hostname.clone()); self.set_hostname(hostname.clone());
hostname.unwrap_or_else(|| { hostname.unwrap_or_else(|| sanitize(utils::hostname()))
sanitize(
hostname::get()
.unwrap_or_else(|_| "localhost".into())
.to_string_lossy()
.as_ref(),
)
})
} }
fn set_hostname(&self, name: Option<String>) { fn set_hostname(&self, name: Option<String>) {
+7
View File
@@ -23,6 +23,13 @@ pub fn weak_upgrade<T>(weak: &Weak<T>) -> anyhow::Result<Arc<T>> {
.ok_or_else(|| anyhow::anyhow!("{} not available", std::any::type_name::<T>())) .ok_or_else(|| anyhow::anyhow!("{} not available", std::any::type_name::<T>()))
} }
pub fn hostname() -> String {
hostname::get()
.unwrap_or_else(|_| "localhost".into())
.to_string_lossy()
.into_owned()
}
pub trait BoxExt: Sized { pub trait BoxExt: Sized {
fn boxed(self) -> Box<Self> { fn boxed(self) -> Box<Self> {
Box::new(self) Box::new(self)
+2 -6
View File
@@ -9,6 +9,7 @@ use crate::{
instance_manager::{DaemonGuard, NetworkInstanceManager}, instance_manager::{DaemonGuard, NetworkInstanceManager},
proto::common::NatType, proto::common::NatType,
tunnel::{IpVersion, TunnelConnector}, tunnel::{IpVersion, TunnelConnector},
utils,
}; };
use anyhow::{Context as _, Result}; use anyhow::{Context as _, Result};
use async_trait::async_trait; use async_trait::async_trait;
@@ -225,12 +226,7 @@ pub async fn run_web_client(
let mut flags = global_ctx.get_flags(); let mut flags = global_ctx.get_flags();
flags.bind_device = false; flags.bind_device = false;
global_ctx.set_flags(flags); global_ctx.set_flags(flags);
let hostname = hostname.unwrap_or_else(|| { let hostname = hostname.unwrap_or_else(utils::hostname);
hostname::get()
.unwrap_or_else(|_| "localhost".into())
.to_string_lossy()
.into_owned()
});
Ok(WebClient::new( Ok(WebClient::new(
create_connector_by_url(c_url.as_str(), &global_ctx, IpVersion::Both).await?, create_connector_by_url(c_url.as_str(), &global_ctx, IpVersion::Both).await?,
token.to_string(), token.to_string(),