aboutsummaryrefslogtreecommitdiff
path: root/src/imap/command/authenticated.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/imap/command/authenticated.rs')
-rw-r--r--src/imap/command/authenticated.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/imap/command/authenticated.rs b/src/imap/command/authenticated.rs
index 1bb4c6d..a6a5203 100644
--- a/src/imap/command/authenticated.rs
+++ b/src/imap/command/authenticated.rs
@@ -14,6 +14,7 @@ use crate::imap::command::{anystate, MailboxName};
use crate::imap::flow;
use crate::imap::mailbox_view::MailboxView;
use crate::imap::response::Response;
+use crate::imap::capability::ServerCapability;
use crate::mail::mailbox::Mailbox;
use crate::mail::uidindex::*;
@@ -22,6 +23,7 @@ use crate::mail::IMF;
pub struct AuthenticatedContext<'a> {
pub req: &'a Command<'static>,
+ pub server_capabilities: &'a ServerCapability,
pub user: &'a Arc<User>,
}
@@ -31,7 +33,9 @@ pub async fn dispatch<'a>(
match &ctx.req.body {
// Any state
CommandBody::Noop => anystate::noop_nothing(ctx.req.tag.clone()),
- CommandBody::Capability => anystate::capability(ctx.req.tag.clone()),
+ CommandBody::Capability => anystate::capability(
+ ctx.req.tag.clone(),
+ ctx.server_capabilities),
CommandBody::Logout => anystate::logout(),
// Specific to this state (11 commands)