summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormdecimus <mauro@stalw.art>2024-09-27 15:16:35 +0200
committermdecimus <mauro@stalw.art>2024-09-27 15:16:35 +0200
commit7a8edb67bb091035e78c19b82031610c2fd11574 (patch)
tree4c2d81f18ef8777b226970eb4452dc1ac0a2ae70
parent6d2c1521c5c15e63fe24a82a68454645c62fd83e (diff)
Fix tenant principal limits (fixes #810)
-rw-r--r--crates/common/src/config/smtp/session.rs5
-rw-r--r--crates/directory/src/backend/internal/manage.rs2
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::<Mechanism>(
"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);
}