Re: IMAP server implementation details unclear in RFC-3501
- From: Mark Crispin <mrc@xxxxxxxxxxxxxxxxxx>
- Date: Wed, 2 Aug 2006 21:16:12 -0700
On Wed, 2 Aug 2006, ondrugs@xxxxxxxxx wrote:
The IMAP
implementation I am developing uses an index file of records containing
the UID, flags as well as sizes and offsets into the actual message
file. If records from this index file were expunged by another
process, I'd best be careful when making updates ;)
Indeed, any shared access environment must handle flag updates and expunges very carefully in order to do the right thing. It is possible to do if you follow IMAP's rules carefully; but this in turn requires a very careful reading of the specification. If there is something that you do not understand, it is better to ask (as you have done, thank you!!) because it's likely to be an important point.
You may want to look into existing implementations of IMAP server that do this. For example, the mix format in the imap-2006 version of UW imapd uses an index file that is very much like what you discuss. If you look at the mix format driver, you'll see that there's quite a bit to lock and synchronize updates between multiple sessions.
-- Mark --
http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
.
- References:
- Prev by Date: Re: IMAP server implementation details unclear in RFC-3501
- Next by Date: problems in fetching mails from an imap server, using fetchmail + procmail
- Previous by thread: Re: IMAP server implementation details unclear in RFC-3501
- Next by thread: Re: IMAP server implementation details unclear in RFC-3501
- Index(es):