MBOX-Line: From andris.reinman at gmail.com  Fri Dec 29 18:15:14 2017
To: imap-protocol@u.washington.edu
From: Andris Reinman <andris.reinman@gmail.com>
Date: Fri Jun  8 12:34:55 2018
Subject: [Imap-protocol] Deleting selected mailbox
Message-ID: <CAPacwgy_nVaePkawv3r2SVOM3yADyRjaX-=mfY_djevPSaV-Zw@mail.gmail.com>

Hi,

I'm wondering that if a client issues a DELETE against the mailbox that is
currently SELECTed then what should be the correct way to handle this. In
most cases it seems that servers respond with untagged BYE. Would it be
correct to send the BYE before tagged response for DELETE or not?

I have a race condition in WildDuck IMAP server where sometimes the
notification about deleted folder gets processed before tagged response is
sent to the client, so while in most cases this happens:

C: A SELECT FOLDER
S: (mailbox info)
S: A OK [READ-WRITE] SELECT completed
C: A DELETE FOLDER
C: A OK DELETE completed
C: * BYE Selected mailbox was deleted, have to disconnect
(connection is closed by server)

Then sometimes it is like this (no response for DELETE):

C: A SELECT FOLDER
S: (mailbox info)
S: A OK [READ-WRITE] SELECT completed
C: A DELETE FOLDER
C: * BYE Selected mailbox was deleted, have to disconnect
(connection is closed by server)

Is the latter a violation of IMAP RFCs? I mean that once the client
reconnects the folder is not there anymore anyway?

Regards,
Andris Reinman
https://github.com/nodemailer/wildduck#wild-duck-mail-server
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman13.u.washington.edu/pipermail/imap-protocol/attachments/20171230/b759abf8/attachment.html>
