Peter,

> Other mails already indicated that there are some problems when doing
> a clean build of James with IMAP from CVS.
> 
> This description of my solutions to some of the issues I've found so
far
> may save some time to others.

Thank you for a very clear email.  Your description of each issue and
the corresponding solution was very nice.  It made the train of thought
very easy to follow.

 
> See below for diffs of the files I've changed. Someone more involved
> should review them before commiting. Some of my changes (6,7) may have
> consequences which I didn't foresee.

I've committed your changes (or minor variations of them) to resolve
points one through six.  I'm hesitant to commit your proposed fix for
point seven for a variety of reasons.  As you note, it's definitely a
short term fix - hard coding a file location.  It also makes it
impossible to use on Windows.  To me it appears that this particular
concept needs some fleshing out.

>    Cause: highestUID in FileMailbox.java was not initialised.
> 
>    Remark:
>    I don't quite understand why highestUID is static.
>    This prevents configuration of the FileStoreHighestUID location.
>    My reading of RFC 2060 (2.3.1.1) is that global uniqueness (across
>    all mailboxes) is unnecessary.

I read the RFC in the same way.  It appears to be a per mailbox item.
So I've come up with a solution that is in line with that idea.

Basically, the highestUID for a particular mailbox is stored in a file
(called highest.uid) in the mailbox directory.  Upon creation of a new
mailbox, the UID is initialized to some random value between 0 and
(MAX_INT - 1)/2.  This gives a wide range of possible initial values (as
recommended by the spec) while allowing storage of a large number of
messages.

When James deserialized a mailbox, the highest UID is read from the
file.

Attached are the changed FileMailbox.java and FileStoreHighestUID.java -
these two files contain the whole of the relevant change.  Your
thoughts?  Any thoughts from any of the other IMAP folk out there?

--Peter

Attachment: FileMailbox.java
Description: java/

Attachment: FileStoreHighestUID.java
Description: java/

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to