From ef82545fb9e862c86181bfafbb5aecab31212fe7 Mon Sep 17 00:00:00 2001 From: mdecimus Date: Sun, 15 Dec 2024 19:05:38 +0100 Subject: [PATCH] Convert emails obtained from external repositories to lowercase (fixes #1004) --- crates/directory/src/backend/ldap/lookup.rs | 4 ++-- crates/directory/src/backend/sql/lookup.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/directory/src/backend/ldap/lookup.rs b/crates/directory/src/backend/ldap/lookup.rs index e1dd9fc4..b6fae9dc 100644 --- a/crates/directory/src/backend/ldap/lookup.rs +++ b/crates/directory/src/backend/ldap/lookup.rs @@ -366,11 +366,11 @@ impl LdapMappings { } } else if self.attr_email_address.contains(&attr) { for item in value { - principal.prepend_str(PrincipalField::Emails, item); + principal.prepend_str(PrincipalField::Emails, item.to_lowercase()); } } else if self.attr_email_alias.contains(&attr) { for item in value { - principal.append_str(PrincipalField::Emails, item); + principal.append_str(PrincipalField::Emails, item.to_lowercase()); } } else if let Some(idx) = self.attr_description.iter().position(|a| a == &attr) { if !principal.has_field(PrincipalField::Description) || idx == 0 { diff --git a/crates/directory/src/backend/sql/lookup.rs b/crates/directory/src/backend/sql/lookup.rs index 141ed497..8fdbc4be 100644 --- a/crates/directory/src/backend/sql/lookup.rs +++ b/crates/directory/src/backend/sql/lookup.rs @@ -291,7 +291,7 @@ impl SqlMappings { } } else if name.eq_ignore_ascii_case(&self.column_email) { if let Value::Text(text) = value { - principal.set(PrincipalField::Emails, text.into_owned()); + principal.set(PrincipalField::Emails, text.to_lowercase()); } } else if name.eq_ignore_ascii_case(&self.column_quota) { if let Value::Integer(quota) = value {