On Fri, Jul 28, 2006 at 12:18:12AM -0700, Nikola Milutinovic wrote: > So, perhaps we could state that the desired behavior of any IMAP client would be to fetch only those message headers it nedds to and perhaps a bit more. In case of TB, that would transalte to fetching only headers that would be visible to the user and perhaps screenful of header up and down. It also helps if the clients ask for a limited set of headers from each message of interest. For example, Squirrelmail asks for this lot at mailbox opening time: (FLAGS UID RFC822.SIZE INTERNALDATE BODY.PEEK[HEADER.FIELDS (Date To Cc From Subject X-Priority Importance Priority Content-Type)]) Cyrus caches some headers in the index file, but unfortunately does not include Importance or Content-Type so it has to open and parse every message file in the mailbox to satisfy the request! This is defined in imapd/mailbox.c in struct mailbox_header_cache mailbox_cache_headers. I am considering expanding the list in that definition to improve efficiency: does anyone know of any problems this might cause? (This is for a new deployment, so there are no existing index files to worry about). Andrew -- ----------------------------------------------------------------------- | From Andrew Findlay, Skills 1st Ltd | | Consultant in large-scale systems, networks, and directory services | | http://www.skills-1st.co.uk/ +44 1628 782565 | ----------------------------------------------------------------------- ---- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html