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

Timo Sirainen <tss@iki.fi> Wed, 30 May 2012 21:33 UTC

Return-Path: <tss@iki.fi>
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 467AF21F8739 for <imap5@ietfa.amsl.com>; Wed, 30 May 2012 14:33:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.339
X-Spam-Level:
X-Spam-Status: No, score=-110.339 tagged_above=-999 required=5 tests=[AWL=0.260, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, 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 DAuSgJvgqlIA for <imap5@ietfa.amsl.com>; Wed, 30 May 2012 14:33:00 -0700 (PDT)
Received: from dovecot.org (dovecot.org [193.210.130.67]) by ietfa.amsl.com (Postfix) with ESMTP id 292B321F8732 for <imap5@ietf.org>; Wed, 30 May 2012 14:33:00 -0700 (PDT)
Received: from [192.168.10.101] (a88-112-255-76.elisa-laajakaista.fi [88.112.255.76]) by dovecot.org (Postfix) with ESMTP id 0B6AB1AE876B; Thu, 31 May 2012 00:32:59 +0300 (EEST)
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset="us-ascii"
From: Timo Sirainen <tss@iki.fi>
In-Reply-To: <em9d0d4829-f230-4345-b96f-3df5d0be4eef@boist>
Date: Thu, 31 May 2012 00:32:58 +0300
Content-Transfer-Encoding: quoted-printable
Message-Id: <DCED8014-DF48-4957-A1B9-56D4D056A465@iki.fi>
References: <em9d0d4829-f230-4345-b96f-3df5d0be4eef@boist>
To: "Adrien W. de Croy" <adrien@qbik.com>
X-Mailer: Apple Mail (2.1084)
Cc: "Discussion on drastically slimming-down IMAP." <imap5@ietf.org>
Subject: Re: [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 21:33:01 -0000

It's doable of course, but I don't think it's worth the extra complexity for 1) the protocol specs and 2) client implementations. The bandwidth savings are pretty minimal.

On 31.5.2012, at 0.11, Adrien W. de Croy wrote:

> what about using the sequences in the final tagged response as an indication of what was actually successfully moved..  the ones that map source messages to new UIDs.
> We suppress EXPUNGE responses during MOVE already.  When you're moving a large set of messages, this improves things quite a bit in terms of bw and speed.
> 
> ----
> Adrien de Croy - WinGate Proxy Server - http://www.wingate.com
> WinGate 7 is released! - http://www.wingate.com/getlatest/
> 
> 
> 
> ------ Original Message ------
> From: "Timo Sirainen" <tss@iki.fi>
> To: "Cyrus Daboo" <cyrus@daboo.name>
> Cc: "Discussion on drastically slimming-down IMAP." <imap5@ietf.org>
> Sent: 31/05/2012 5:27:22 a.m.
> Subject: Re: [imap5] Should unsolicited EXPUNGE responses be returned during UID MOVE?
>> On 30.5.2012, at 20.20, Cyrus Daboo 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?
>>> 
>> 
>> 
>> I assumed that this was a bug in the example and was going to report it as some point. I think the EXPUNGE/VANISHED replies should be sent in any case, even if MOVE was required to be fully atomic. Otherwise if the UID MOVE command sends an untagged FETCH/EXPUNGE reply it wouldn't be obvious if the sequence number referred to the state before or after the MOVE expunges.
>> 
>> _______________________________________________
>> imap5 mailing list
>> imap5@ietf.org
>> https://www.ietf.org/mailman/listinfo/imap5
>> 
>> 
> 
> _______________________________________________
> imap5 mailing list
> imap5@ietf.org
> https://www.ietf.org/mailman/listinfo/imap5
>