Fix autoconfig: Return %EMAILADDRESS% when no email address is provided

This commit is contained in:
Maurus Decimus
2026-05-04 18:29:10 +02:00
parent 8632f9b43a
commit 4576adfc9c
2 changed files with 8 additions and 6 deletions

View File

@@ -16,16 +16,17 @@ impl Server {
) -> trc::Result<Resource<Vec<u8>>> {
// Obtain parameters
let params = UrlParams::new(uri);
let emailaddress = params
let emailaddress_param = params
.get("emailaddress")
.unwrap_or_default()
.to_lowercase();
let Some((_, domain)) = emailaddress.rsplit_once('@') else {
return Err(trc::ResourceEvent::BadParameters
.into_err()
.details("Missing domain in email address"));
};
let default_host = &self.core.network.server_name;
let (emailaddress, domain) =
if let Some((_, domain)) = emailaddress_param.rsplit_once('@') {
(emailaddress_param.as_str(), domain)
} else {
("%EMAILADDRESS%", default_host.as_str())
};
// Build XML response
let mut config = String::with_capacity(1024);