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
+8 -14
View File
@@ -258,21 +258,15 @@ impl ConfigLoader for TomlConfigLoader {
match hostname { match hostname {
Some(hostname) => { Some(hostname) => {
let hostname = hostname
.chars()
.filter(|c| !c.is_control())
.take(32)
.collect::<String>();
if !hostname.is_empty() { if !hostname.is_empty() {
let mut name = hostname self.set_hostname(Some(hostname.clone()));
.chars() hostname
.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
} else { } else {
self.set_hostname(None); self.set_hostname(None);
gethostname::gethostname().to_string_lossy().to_string() gethostname::gethostname().to_string_lossy().to_string()