diff --git a/kinode/src/http/server.rs b/kinode/src/http/server.rs index 7efe390f..1e116d4f 100644 --- a/kinode/src/http/server.rs +++ b/kinode/src/http/server.rs @@ -375,10 +375,12 @@ async fn login_handler( let cookie = match info.subdomain.unwrap_or_default().as_str() { "" => format!("kinode-auth_{our}={token};"), subdomain => { - // enforce that subdomain string only contains a-z, 0-9, and - + // enforce that subdomain string only contains a-z, 0-9, ., :, and - let subdomain = subdomain .chars() - .filter(|c| c.is_ascii_alphanumeric() || c == &'-') + .filter(|c| { + c.is_ascii_alphanumeric() || c == &'-' || c == &':' || c == &'.' + }) .collect::(); format!("kinode-auth_{our}@{subdomain}={token};") }