53 lines
2.2 KiB
Plaintext
53 lines
2.2 KiB
Plaintext
MBOX-Line: From gds at chartertn.net Sun Oct 8 19:51:43 2017
|
|
To: imap-protocol@u.washington.edu
|
|
From: Gene Smith <gds@chartertn.net>
|
|
Date: Fri Jun 8 12:34:55 2018
|
|
Subject: [Imap-protocol] Is server re-use of UID OK?
|
|
In-Reply-To: <CAByav=gfGNd2KHyx8kb9GQ-XEfs3L0LzqJuQGJRwDXg9x9mdMA@mail.gmail.com>
|
|
References: <38137c2b-f1f1-2bed-e22f-2aea7fa50ac3@chartertn.net>
|
|
<CAByav=gBnVkLg+4z90ewBvKRVtOrEQ7XESfirEQ1dyx=Sb0MXw@mail.gmail.com>
|
|
<abb75221-a38a-3317-86a2-98a8340e55d3@chartertn.net>
|
|
<CAByav=gfGNd2KHyx8kb9GQ-XEfs3L0LzqJuQGJRwDXg9x9mdMA@mail.gmail.com>
|
|
Message-ID: <1a206274-8bce-f789-4dc9-638ed20e9372@chartertn.net>
|
|
|
|
On 10/8/17 9:40 PM, Tim Showalter wrote:
|
|
> On Sun, Oct 8, 2017 at 3:26 PM, Gene Smith <gds@chartertn.net
|
|
> <mailto:gds@chartertn.net>>?wrote:
|
|
>
|
|
|
|
Tim,
|
|
Thanks for your help.
|
|
|
|
> Recovering a used UID is never permitted*.?If there is no EXPUNGE, there
|
|
> should be two copies of the message in Inbox in this example. (Setting
|
|
> \Deleted is reversible.)
|
|
|
|
Yes, for other IMAP servers I have tested, if I copy message "A" 10
|
|
times into Inbox I see 10 identical copies of message A in Inbox. For
|
|
this openwave server, I see only 1 (and uid fetch 1:* (FLAGS) shows only 1).
|
|
|
|
>
|
|
> The design of the specification is concerned with what happens when a
|
|
> separate client connects before and after this exchange. Because UIDNEXT
|
|
> has not been used correctly, clients that have cached state wouldn't see
|
|
> changes to the mailbox correctly.
|
|
|
|
If the server would clear the \deleted flag at the destination uid and
|
|
did no actual copy in response to this uid copy it would produce an
|
|
acceptable result (message visible in client again). This would be no
|
|
different than changing flags with uid store it would seem (e.g., what
|
|
happen when a deleted message is undeleted with crtl-z in client). Not
|
|
sure how other/separate clients would be confused by this.
|
|
|
|
>
|
|
> I guess the server might have an optimization (aka hack) for this, but
|
|
> it doesn't appear to be properly protocol compliant.
|
|
|
|
So in summary, you are saying that the server should always use the
|
|
UIDNEXT or greater when messages are copied to a mbox, even if the
|
|
server determines there is an identical message at a lower UID. To do
|
|
otherwise violates rfc 3501.
|
|
|
|
-gene
|
|
|