Subject: [imapext] Implementation experience -- final charter item

From: Barry Leiba <[email-masked]>
Date: Mon, 3 Dec 2012 18:13:10 -0500

The imapmove charter requires an analysis of implementation
experience.  I know that Alexey has an implementation, and rumour has
it that there are several others.

There's a wiki page for collecting and saving this:
http://trac.tools.ietf.org/wg/imapmove/trac/wiki

If you have an implementation of some version of this spec (whether or
not it's the latest), please post any information you can about it.
Let us know whether you have a server implementation, a client
implementation, or both.  Let us know what version of the spec you
implemented, or whether you have an implementation of the initial idea
from before the WG was formed.  Let us know what experience you had in
implementing it, and any experience you have with deployment.  Let us
know any interoperability testing you've done.  Let us know whether
it's in shipping code, beta test, lab test, or whatnot, and when-ish
it's likely to be in shipping code if you're able to make an estimate.

Please post messages about all this to the mailing list.  The chairs
can decide how they want to deal with putting it into the wiki.

Thanks,
Barry

---

From: Jan Kundrát <[email-masked]>
Date: Tue, 04 Dec 2012 12:34:25 +0100

> it's likely to be in shipping code if you're able to make an estimate.

My client (Trojita [1]) has supported the UID XMOVE command as specified by draft-gulbrandsen-imap-move-01 since the end of May in a development version (which is actually used by some users); at that time, I've tested against Bron's fastmail.fm IMAP service (Cyrus). This functionality was enabled upon seeing the XMOVE capability.

I've just enabled support for the latest version of the draft (the UID MOVE command; Trojita won't issue seq-based MOVE; now it's based on the MOVE capability). I've tested against Dovecot's 2.2 from their SCM (hg commit 266e24f1c78c). The UID XMOVE is no longer used.

Trojita doesn't make use of the COPYUID response code at this time; when we add support for that, it will work for copies and moves alike. COPYUID won't work when message expunges are reported (VANISHED/EXPUNGED) before COPYUID arrives -- which is why I welcome the untagged COPYUID variant.

This code will be shipped in the next release (the ETA is "when it's ready, it's ready" -- but a realistic estimate is later this month or in early January). In absence of the MOVE extension, Trojita falls back to UID COPY and UID STORE +FLAGS.SILENT and UID EXPUNGE. In absence of the UIDPLUS extension (and hence no UID EXPUNGE command), no expunges are performed.

With kind regards,
Jan

[1] http://trojita.flaska.net/

---

From: Timo Sirainen <[email-masked]>
Date: Tue, 11 Dec 2012 08:15:03 +0200

> it's likely to be in shipping code if you're able to make an estimate.

Dovecot v2.2 implements the latest version of MOVE using mostly the same code as COPY. Internally most backends implement it as simply copy+expunge, but there is a "moving" hint flag on the copy context, which can be used by the backends/plugins. Most importantly quota code ignores quota limit when it's set and ACL code checks already at copy stage if user has also expunge-access.

Dovecot v2.2 is still in alpha, but I'm hoping to get it stabilized pretty soon. I've done no interoperability testing, other than heard that Jan's client works. :)

---

From: "Adrien W. de Croy" <[email-masked]>
Date: Tue, 11 Dec 2012 10:38:55 +0000

------ Original Message ------
From: "Timo Sirainen" <[email-masked]>
>Dovecot v2.2 is still in alpha, but I'm hoping to get it stabilized pretty soon. I've done no interoperability testing, other than heard that Jan's client works. :)

I'd recommend trying with Thunderbird.

We've been using an extension named / advertised as "MOVE" with 
versions of TB for nearly 2 years now.  The only difference between the 
spec they (and we) followed, and the current draft AFAICT relates to an 
untagged COPYUID instead of the tagged one, and TB to my understanding 
doesn't use it anyway.

When I get around to it I'll change the COPYUID to untagged prior to 
any EXPUNGE responses.

Adrien
>
>
>_______________________________________________
>imapext mailing list
>[email-masked]
>https://www.ietf.org/mailman/listinfo/imapext
>
>

---

From: Michael M Slusarz <[email-masked]>
Date: Tue, 11 Dec 2012 13:57:00 -0700

>> it's likely to be in shipping code if you're able to make an estimate.

IMP (http://www.horde.org/imp/) supports the latest version of MOVE  
since November, 2012.  This code is in the stable release.  The  
existing move method was altered (only 4 lines changed!) to support  
MOVE over COPY/STORE/EXPUNGE if available.

The recent COPYUID discussion does not affect our implementation -  
tagged or untagged COPYUID is handled the same.

I can confirm the code works fine with Dovecot 2.2.  I have also heard  
(hearsay) that the code works with Cyrus (unknown version).

michael

___________________________________
Michael Slusarz [[email-masked]]