support unicode hostname

This commit is contained in:
sijie.sun 2024-08-04 09:21:00 +08:00 committed by Sijie.Sun
parent 5f0d71b0fe
commit 5e51784803

View File

@ -258,21 +258,15 @@ impl ConfigLoader for TomlConfigLoader {
match hostname {
Some(hostname) => {
let hostname = hostname
.chars()
.filter(|c| !c.is_control())
.take(32)
.collect::<String>();
if !hostname.is_empty() {
let mut name = hostname
.chars()
.filter(|c| c.is_ascii_alphanumeric() || *c == '-' || *c == '_')
.take(32)
.collect::<String>();
if name.len() > 32 {
name = name.chars().take(32).collect::<String>();
}
if hostname != name {
self.set_hostname(Some(name.clone()));
}
name
self.set_hostname(Some(hostname.clone()));
hostname
} else {
self.set_hostname(None);
gethostname::gethostname().to_string_lossy().to_string()