[POLL] Development guidance

Bron Gondwana brong at fastmail.fm
Mon Nov 5 18:11:46 EST 2007


On Mon, Nov 05, 2007 at 04:58:59PM +0000, David Carter wrote:
> On Fri, 2 Nov 2007, Ken Murchison wrote:
>
>> I'm getting ready to implement the QRESYNC extension for the upcoming
>> LEMONADE interop.
>>
>> http://www.ietf.org/internet-drafts/draft-ietf-lemonade-reconnect-client-06.txt
>
> Reading the Internet Draft, I'm a little puzzled by:
>
>    4.3.  Additional state required on the server
>
>    [...]
>
>    Also note that if the UIDVALIDITY of the mailbox changes [...], then
>    any state associated with expunged messages MUST be deleted as well.
>
> I'm not clear what the motivation is here given that a new UIDvalidity 
> forces a full resync from any client: no QRESYNC is possible.
>
> This requirement is likely to be a pain for:
>
>> 1. Leverage delayed expunge which already stores state for expunged 
>> messages in cyrus.expunge (up until the records are purged by cyr_expire).
>
> Given that unexpunge assigns a new UIDvalidity to the mailbox.

I think that unexpunge should actually be the same as "COPY" where the
source is the "deleted" record.  This updating UIDvalidity is just rude,
especially if you're only unexpunging a couple of messages from a much
bigger mailbox.

SEEN state handling is a pain, but that's always been a pain.  I don't
mind too much if an unexpunged message shows up as "unseen" in its
new incarnation.

Bron.


More information about the Cyrus-devel mailing list