This makes a lot of sense... but I think the basic problem here is one
we cannot fix any more: COPYUID cannot be parsed without knowledge of
the command that caused it.
So, I think that a client which issues MOVE has to add an extra
reference to the cached message(s) when it issues MOVE, and when it
parses the COPYUID it looks at the reference(s) held by the command.
MOVE makes this much more acute, but I note that the problem exists with
copystoreexpunge too:
C: a COPY 1000:1999 foo
S: * 1000 EXPUNGE
S: * 1500 EXPUNGE
S: a OK [COPYUID 4132 1000:1499,1501:1999 1000:1998] done
(One of the two messages had been copied by the time it was expunged,
the other was expunged before it could be copied.)
Arnt
_______________________________________________
imap5 mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/imap5