Fix JMAP: Principal/query returns broad results when a name or email filter cannot be resolved

This commit is contained in:
Maurus Decimus
2026-06-23 18:03:51 +02:00
parent 14593e6f72
commit 174f6b599c
2 changed files with 9 additions and 5 deletions

View File

@@ -62,11 +62,14 @@ impl PrincipalQuery for Server {
match cond {
Filter::Property(cond) => match cond {
PrincipalFilter::Name(name) | PrincipalFilter::Email(name) => {
if let Some(account_id) = self.account_id_from_email(&name, false).await? {
filters.push(SearchFilter::is_in_set(
RoaringBitmap::from_sorted_iter([account_id]).unwrap(),
));
}
filters.push(SearchFilter::is_in_set(
match self.account_id_from_email(&name, false).await? {
Some(account_id) => {
RoaringBitmap::from_sorted_iter([account_id]).unwrap()
}
None => RoaringBitmap::new(),
},
));
}
PrincipalFilter::AccountIds(ids) => {
filters.push(SearchFilter::is_in_set(