diff options
author | mdecimus <mauro@stalw.art> | 2024-09-10 18:44:44 +0200 |
---|---|---|
committer | mdecimus <mauro@stalw.art> | 2024-09-10 18:44:44 +0200 |
commit | fbcf55d8e1891b72499fed7d5ff54964c8a2f256 (patch) | |
tree | c6f18add7f0b62ce3bb6848c1b8b9e68c4eb4e5e /crates/imap/src/op/namespace.rs | |
parent | 08a95ae58b451dbc2284ed7ac2d413185bc879fe (diff) |
Access token permissions
Diffstat (limited to 'crates/imap/src/op/namespace.rs')
-rw-r--r-- | crates/imap/src/op/namespace.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/crates/imap/src/op/namespace.rs b/crates/imap/src/op/namespace.rs index 3935955e..0f9ed1ac 100644 --- a/crates/imap/src/op/namespace.rs +++ b/crates/imap/src/op/namespace.rs @@ -6,6 +6,7 @@ use crate::core::Session; use common::listener::SessionStream; +use directory::Permission; use imap_proto::{ protocol::{namespace::Response, ImapResponse}, receiver::Request, @@ -14,6 +15,9 @@ use imap_proto::{ impl<T: SessionStream> Session<T> { pub async fn handle_namespace(&mut self, request: Request<Command>) -> trc::Result<()> { + // Validate access + self.assert_has_permission(Permission::ImapNamespace)?; + trc::event!( Imap(trc::ImapEvent::Namespace), SpanId = self.session_id, |