[imap5] Should unsolicited EXPUNGE responses be returned during UID MOVE?

Cyrus Daboo <cyrus@daboo.name> Wed, 30 May 2012 17:20 UTC

Return-Path: <cyrus@daboo.name>
X-Original-To: imap5@ietfa.amsl.com
Delivered-To: imap5@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6D94511E8099 for <imap5@ietfa.amsl.com>; Wed, 30 May 2012 10:20:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aOgszLlp+Lkb for <imap5@ietfa.amsl.com>; Wed, 30 May 2012 10:20:35 -0700 (PDT)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id DFEEF11E8097 for <imap5@ietf.org>; Wed, 30 May 2012 10:20:34 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 6824C2833D26; Wed, 30 May 2012 13:20:34 -0400 (EDT)
X-Virus-Scanned: amavisd-new at daboo.name
Received: from daboo.name ([127.0.0.1]) by localhost (daboo.name [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LbKPSnf5FyL3; Wed, 30 May 2012 13:20:30 -0400 (EDT)
Received: from caldav.corp.apple.com (unknown [17.45.162.46]) by daboo.name (Postfix) with ESMTPSA id 966A92833D19; Wed, 30 May 2012 13:20:29 -0400 (EDT)
Date: Wed, 30 May 2012 13:20:26 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Timo Sirainen <tss@iki.fi>, "Discussion on drastically slimming-down IMAP." <imap5@ietf.org>
Message-ID: <F9EF38629F2CFC0AA9687FFC@caldav.corp.apple.com>
X-Mailer: Mulberry/4.1.0a3 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size="1055"
Subject: [imap5] Should unsolicited EXPUNGE responses be returned during UID MOVE?
X-BeenThere: imap5@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion on drastically slimming-down IMAP." <imap5.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imap5>, <mailto:imap5-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/imap5>
List-Post: <mailto:imap5@ietf.org>
List-Help: <mailto:imap5-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imap5>, <mailto:imap5-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 May 2012 17:20:37 -0000

Hi Timo,
(Changing thread since we are now into a technical issue rather than 
charter)

--On May 30, 2012 7:59:19 PM +0300 Timo Sirainen <tss@iki.fi> wrote:

>> So Arnt tells me.
>
> If I can implement it this way without violating the spec:
>
> 1. Verify that ACLs allow expunge, fail if not
> 2. Do atomic UID COPY without enforcing quota limits
> 3. Expunge the messages
> [4. If expunge for some strange reason fails now, there are probably
> duplicates now. I'm not sure if I want to bother fixing that situation.
> It should "never" happen anyway.]
>
> then I could add it to Dovecot pretty much immediately.

So if the expunge does fail, how are you going to report that to the 
client? Arnt's current spec does not show any * N EXPUNGE responses coming 
back, so I am assuming that the client is supposed to implicitly assume the 
expunges took place, which would cause a problem if they did not take 
place. But that seems wrong to me - shouldn't UID MOVE cause * N EXPUNGE to 
be sent for each message that was actually moved?

-- 
Cyrus Daboo