On Feb 13, 2008, at 7:21 AM, Benjamin R. Haskell wrote:
On Wed, 13 Feb 2008, Rody wrote:
Op woensdag 13 februari 2008 00:43, schreef Bill Cole:
Yes, but you may also care that ctime is reset when a client has Dovecot move a message from one subfolder to another within a Maildir. I'm not sure why Dovecot does it, but a look at the
messages in the non-INBOX parts of my Maildir reveals that the ctime is
always later than the mtime, and the contents (Received headers) makes it clear that Dovecot sets the mtime of messages to the original mtime (i.e. original delivery time) when copying them.I think the answer to "why Dovecot does it" is actually that Dovecot
doesn't do anything with ctime. Under most *nix filesystems, ctime
is the last time the inode underlying the file/dir was changed ('c'
for "changed", not "created" -- [usually]). The inode gets changed
when the file's moved from one directory to another.
Right. Also there's no way to change ctime even if I wanted to.
The delivery time can also be determined by the first part of the
Maildir filename of the message:e.g. ls -l 1202878863.24522_1.myhost:2, --rw------- 1 user group 551 2008-02-13 00:00
1202878863.24522_1.myhost:2,The 1202878863 part is the Unix timestamp corresponding to midnight,
Feb 13, 2008 EST. So, it's not really a requirement of Maildir's
design to keep the mtime updated. It's just easier+quicker than
parsing the number out of the filename (where it *is* a requirement).
It's required to write it, but it's also required that you shouldn't
assume anything about the filename when reading it. So for example
some mbox -> maildir convertors use "mbox.#" as filenames and they
work fine.
[...] It looks like the use of ctime or mtime depends on wether you
want the message removed x days after it was moved to say the trash
folder (ctime) or will be removed x days after it originally
arrived in the inbox (mtime). My personal opinion is currently that
i would like it removed x days after it was placed in a certain
folder, hence i use ctime.Depends on the context for me. If it's in a spam folder, I'd rather
not keep it around any longer than it'd take for someone to say
"Hey, didn't you get that?". So -mtime +13 (2 weeks from receipt).
(Thanks for the heads-up on +13 vs. +14, btw).
Also note that if messages are uploaded to server by IMAP client the
mtime may be the message's original date. Dovecot uses mtime as the
message's IMAP INTERNALDATE.