diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-02-20 13:24:42 +0100 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-02-20 13:24:42 +0100 |
commit | 64b474f682a3c519ca1bda279132273a53ca2115 (patch) | |
tree | 2a59f788090bdc007db4c3393335eb77fcea417e /src/imap/command | |
parent | 28b1f4f14dffc5dcd5152ce931f6c50b17c134db (diff) | |
download | aerogramme-64b474f682a3c519ca1bda279132273a53ca2115.tar.gz aerogramme-64b474f682a3c519ca1bda279132273a53ca2115.zip |
Unsollicited response on APPEND was wrong, upgrade imap-flow to fix LITERAL+
Diffstat (limited to 'src/imap/command')
-rw-r--r-- | src/imap/command/authenticated.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/imap/command/authenticated.rs b/src/imap/command/authenticated.rs index baf3033..d2e7815 100644 --- a/src/imap/command/authenticated.rs +++ b/src/imap/command/authenticated.rs @@ -549,6 +549,8 @@ impl<'a> AuthenticatedContext<'a> { )) } + //@FIXME we should write a specific version for the "selected" state + //that returns some unsollicited responses async fn append( self, mailbox: &MailboxCodec<'a>, @@ -560,10 +562,9 @@ impl<'a> AuthenticatedContext<'a> { match self.append_internal(mailbox, flags, date, message).await { - Ok((_mb_view, unsollicited, uidvalidity, uid, _modseq)) => Ok(( + Ok((_mb_view, uidvalidity, uid, _modseq)) => Ok(( Response::build() .tag(append_tag) - .set_body(unsollicited) .message("APPEND completed") .code(Code::Other(CodeOther::unvalidated( format!("APPENDUID {} {}", uidvalidity, uid).into_bytes(), @@ -603,7 +604,7 @@ impl<'a> AuthenticatedContext<'a> { flags: &[Flag<'a>], date: &Option<DateTime>, message: &Literal<'a>, - ) -> Result<(MailboxView, Vec<Body<'static>>, ImapUidvalidity, ImapUid, ModSeq)> { + ) -> Result<(MailboxView, ImapUidvalidity, ImapUid, ModSeq)> { let name: &str = MailboxName(mailbox).try_into()?; let mb_opt = self.user.open_mailbox(&name).await?; @@ -623,9 +624,9 @@ impl<'a> AuthenticatedContext<'a> { // TODO: filter allowed flags? ping @Quentin let (uidvalidity, uid, modseq) = view.internal.mailbox.append(msg, None, &flags[..]).await?; - let unsollicited = view.update(UpdateParameters::default()).await?; + //let unsollicited = view.update(UpdateParameters::default()).await?; - Ok((view, unsollicited, uidvalidity, uid, modseq)) + Ok((view, uidvalidity, uid, modseq)) } } |