<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.0.10">
</HEAD>
<BODY>
Thanks Timo. Very interesting and very good by you.<BR>
<BR>
My only followup thought is to ask: Is it possible for an IMAP client to request a server side SORT, but not specify explicitly which date to use, and thus rely on a server side choice of the SORT key? In which case could Dovecot use the Date-header as the default SORT key?<BR>
<BR>
On Mon, 2005-04-18 at 02:35, Timo Sirainen wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE><FONT COLOR="#2f3273"><I>On Fri, 2005-04-15 at 15:31 +1000, Emmett Lazich wrote:
&gt; Timo or anyone,
&gt; 
&gt; This may be a bug or maybe a design decision. Either way I am curious
&gt; to hear comments.
&gt; 
&gt; Why do the dovecot-0.99.14 server's .imap.index files contain a cached
&gt; copy of each message's date and time as supplied by the filesystem, as
&gt; opposed to the date and time found in each message header?

There are two dates with IMAP. INTERNALDATE is one and Date-header of
the message is another. The filesystem timestamp that you see cached
in .imap.index.data file is the INTERNALDATE. The message's Date-header
is also cached in the beginning of ENVELOPE data.

&gt; When testing various imap clients (eg. tbird-1.0.2, evolution-2.0,
&gt; outlook2003, squirrelmail-1.4.4) I was intrigued by the behaviour of
&gt; message date sorting. I toggled on/off the use of server side SORTing
&gt; in some imap clients, then started forcing rebuilds of .map.index
&gt; files, and eventually came to the above conclusion.

Server side sorting supports sorting based on both INTERNALDATE
(&quot;ARRIVAL&quot;) and Date-header (&quot;DATE&quot;). It's client's choice which one it
wants to use.

&gt; For normal dovecot server side processing, this condition (if I am
&gt; correct) may not be a problem, but if someone was to deposit a bunch
&gt; of maildir files firstly into an imap account (bypassing dovecot), and
&gt; if this person (eg. me) did not preserve the filesystem/inode file
&gt; attributes. Then dovecot appears to cache the &quot;wrong&quot; data. What
&gt; happens then is that some imap clients can display wrong date+times in
&gt; the message lists, and some imap clients find that server side SORTing
&gt; does not work.

It all works correctly from Dovecot's point of view, because the
messages arrived in the mailbox at that time..
</I></FONT></PRE>
</BLOCKQUOTE>
</BODY>
</HTML>