1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
From 3d20702a481bfa4ecc692cd07a7f1fe0a66bb5d9 Mon Sep 17 00:00:00 2001
From: Benedikt Peetz <benedikt.peetz@b-peetz.de>
Date: Sun, 9 Feb 2025 00:38:13 +0100
Subject: [PATCH] fix(crates/directory): Guard all enterprise only features
behind a `enterprise` cfg block
---
crates/directory/src/core/config.rs | 1 +
crates/directory/src/core/dispatch.rs | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/crates/directory/src/core/config.rs b/crates/directory/src/core/config.rs
index dfb7bf9b..0c3ce96a 100644
--- a/crates/directory/src/core/config.rs
+++ b/crates/directory/src/core/config.rs
@@ -84,6 +84,7 @@ impl Directories {
"memory" => MemoryDirectory::from_config(config, prefix, data_store.clone())
.await
.map(DirectoryInner::Memory),
+ #[cfg(feature = "enterprise")]
"oidc" => OpenIdDirectory::from_config(config, prefix, data_store.clone())
.map(DirectoryInner::OpenId),
unknown => {
diff --git a/crates/directory/src/core/dispatch.rs b/crates/directory/src/core/dispatch.rs
index a99e54fe..062f29c9 100644
--- a/crates/directory/src/core/dispatch.rs
+++ b/crates/directory/src/core/dispatch.rs
@@ -24,6 +24,7 @@ impl Directory {
DirectoryInner::Imap(store) => store.query(by).await,
DirectoryInner::Smtp(store) => store.query(by).await,
DirectoryInner::Memory(store) => store.query(by).await,
+ #[cfg(feature = "enterprise")]
DirectoryInner::OpenId(store) => store.query(by, return_member_of).await,
}
.caused_by(trc::location!())
@@ -37,6 +38,7 @@ impl Directory {
DirectoryInner::Imap(store) => store.email_to_id(address).await,
DirectoryInner::Smtp(store) => store.email_to_id(address).await,
DirectoryInner::Memory(store) => store.email_to_id(address).await,
+ #[cfg(feature = "enterprise")]
DirectoryInner::OpenId(store) => store.email_to_id(address).await,
}
.caused_by(trc::location!())
@@ -57,6 +59,7 @@ impl Directory {
DirectoryInner::Imap(store) => store.is_local_domain(domain).await,
DirectoryInner::Smtp(store) => store.is_local_domain(domain).await,
DirectoryInner::Memory(store) => store.is_local_domain(domain).await,
+ #[cfg(feature = "enterprise")]
DirectoryInner::OpenId(store) => store.is_local_domain(domain).await,
}
.caused_by(trc::location!())?;
@@ -84,6 +87,7 @@ impl Directory {
DirectoryInner::Imap(store) => store.rcpt(email).await,
DirectoryInner::Smtp(store) => store.rcpt(email).await,
DirectoryInner::Memory(store) => store.rcpt(email).await,
+ #[cfg(feature = "enterprise")]
DirectoryInner::OpenId(store) => store.rcpt(email).await,
}
.caused_by(trc::location!())?;
@@ -104,6 +108,7 @@ impl Directory {
DirectoryInner::Imap(store) => store.vrfy(address).await,
DirectoryInner::Smtp(store) => store.vrfy(address).await,
DirectoryInner::Memory(store) => store.vrfy(address).await,
+ #[cfg(feature = "enterprise")]
DirectoryInner::OpenId(store) => store.vrfy(address).await,
}
.caused_by(trc::location!())
@@ -117,6 +122,7 @@ impl Directory {
DirectoryInner::Imap(store) => store.expn(address).await,
DirectoryInner::Smtp(store) => store.expn(address).await,
DirectoryInner::Memory(store) => store.expn(address).await,
+ #[cfg(feature = "enterprise")]
DirectoryInner::OpenId(store) => store.expn(address).await,
}
.caused_by(trc::location!())
@@ -130,6 +136,7 @@ impl Directory {
| DirectoryInner::Imap(_)
| DirectoryInner::Smtp(_)
| DirectoryInner::Memory(_) => false,
+ #[cfg(feature = "enterprise")]
DirectoryInner::OpenId(_) => true,
}
}
--
2.47.1
|