51 lines
2.0 KiB
Plaintext
51 lines
2.0 KiB
Plaintext
MBOX-Line: From gds at chartertn.net Sun Oct 8 15:26:59 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=gBnVkLg+4z90ewBvKRVtOrEQ7XESfirEQ1dyx=Sb0MXw@mail.gmail.com>
|
|
References: <38137c2b-f1f1-2bed-e22f-2aea7fa50ac3@chartertn.net>
|
|
<CAByav=gBnVkLg+4z90ewBvKRVtOrEQ7XESfirEQ1dyx=Sb0MXw@mail.gmail.com>
|
|
Message-ID: <abb75221-a38a-3317-86a2-98a8340e55d3@chartertn.net>
|
|
|
|
On 10/8/17 5:43 PM, Tim Showalter wrote:
|
|
> On Sun, Oct 8, 2017 at 1:58 PM, Gene Smith <gds@chartertn.net
|
|
> <mailto:gds@chartertn.net>> wrote:
|
|
>
|
|
> Copy a message with UID 1267 from Inbox to Mbox and deleted it in
|
|
> Inbox. With Inbox selected:
|
|
>
|
|
> C: aaa UID COPY 1267 "Mbox"
|
|
> S: aaa OK [COPYUID 123456789 1267 1007] UID COPY completed
|
|
> C: bbb UID store 1267 +Flags (\Deleted)
|
|
>
|
|
> C: ccc UID COPY 1007 "Inbox"
|
|
> S: ccc OK [COPYUID 987654321 1007 1267] UID COPY completed
|
|
> C: ddd UID store 1007 +Flags (\Deleted)
|
|
>
|
|
> Does this seem like acceptable imap server behavior?
|
|
>
|
|
>
|
|
> No, this is a violation. Both messages have UID 1267, and if there is no
|
|
> intervening EXPUNGE, the first message still exists when the second one
|
|
> overwrites it. Neither behavior is remotely permissible.
|
|
>
|
|
> Tim
|
|
>
|
|
|
|
I think the server is thinking, "its the same message I am copying back
|
|
to Inbox (how does it knows? Same Message-ID or maybe checksum?) so I
|
|
don't have to do anything." If the server had at least reset the
|
|
\deleted flag on message at UID 1267 in Inbox I think it would be OK.
|
|
The rfc says COPY must preserve the flags. It also says messages added
|
|
to a mailbox must have UID >= UIDNEXT. But if the server is copying in a
|
|
message that is already present but just flagged as \deleted, maybe RFC
|
|
doesn't say you can't COPYUID to the original UID which is < UIDNEXT?
|
|
But I think the server should reset \deleted at the destination.
|
|
|
|
FYI, the server is a product called "openwave" used by a fairly large
|
|
ISP (charter/spectrum).
|
|
|
|
|
|
|