about summary refs log tree commit diff stats
path: root/pkgs/by-name/st/stalwart-mail-free/patches/fix-crates-directory-Guard-all-enterprise-only-featu.patch
blob: 80c4b60b79072e41a2ca3a68e594e96ef2839c35 (plain) (blame)
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