Hi, There is probably a simple solution to the rename problem. Its just that no one has come up with it yet.
The expectation is that once mailbox:validity:uid is defined it refers to a single message forever. However, user's expect to able to change mailbox names at their whim even though, the server is using the mailbox name in its message unique identifier system. As such the user should not be able to change the mailbox name because is interferes with the server's unique identification of messages. The problem is that while mailbox names are unique at any one point in time. Over a period of time, we see that a mailbox name does not refer to a unique object. Rename isn't the only cause. Successive create and delete operations can cause multiple non-unique instances of a single mailbox name. However, in this case the server can usually guarantee uniqueness of the validity value because the performance of the server machine is not great enough to create, copy some number of messages, delete and create again in less than one interval of the timer used for most validity timestamps. This would be mostly academic because the likelyhood of a client having access to the messages prior to mailbox deletion and recreation is very low. Rename stands out because it affects all of the children of the mailbox. It also changes only the name attribute of the mailbox and not the contents. The probability of encountering a conflict is greatly increased. Updating the contents of all files affected by a single rename is not practical. Here is one stab at a solution... What is needed is an easy way for the server make the unique identifier guarantee while still permitting the user to rearrange things. A mailbox name is not a guaranteed unique identifier. It should be removed from the unique identifier equation. In its place, use a value that unlike the mailbox name is completely controlled by the server. It would be similiar to the uidvalidity and have the following properties: unique across the server, set when a mailbox is created, never changes and is never reused. An offline client could match against the id value and would be able to keep its cache even when the mailbox got renamed. Regards, Mark Keasling <[EMAIL PROTECTED]>