From 7a8edb67bb091035e78c19b82031610c2fd11574 Mon Sep 17 00:00:00 2001 From: mdecimus Date: Fri, 27 Sep 2024 15:16:35 +0200 Subject: Fix tenant principal limits (fixes #810) --- crates/common/src/config/smtp/session.rs | 5 ++++- crates/directory/src/backend/internal/manage.rs | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/common/src/config/smtp/session.rs b/crates/common/src/config/smtp/session.rs index 5085ebbe..a2c8e7d7 100644 --- a/crates/common/src/config/smtp/session.rs +++ b/crates/common/src/config/smtp/session.rs @@ -749,7 +749,10 @@ impl Default for SessionConfig { ), mechanisms: IfBlock::new::( "session.auth.mechanisms", - [("local_port != 25 && is_tls", "[plain, login, oauthbearer]")], + [ + ("local_port != 25 && is_tls", "[plain, login, oauthbearer]"), + ("local_port != 25", "[oauthbearer]"), + ], "false", ), require: IfBlock::new::<()>( diff --git a/crates/directory/src/backend/internal/manage.rs b/crates/directory/src/backend/internal/manage.rs index 134da198..740ef471 100644 --- a/crates/directory/src/backend/internal/manage.rs +++ b/crates/directory/src/backend/internal/manage.rs @@ -923,7 +923,7 @@ impl ManageDirectory for Store { PrincipalField::Quota, PrincipalValue::IntegerList(quotas), ) if matches!(principal.inner.typ, Type::Tenant) - && quotas.len() <= (Type::Role as usize + 1) => + && quotas.len() <= (Type::Role as usize + 2) => { principal.inner.set(PrincipalField::Quota, quotas); } -- cgit v1.2.3-70-g09d2