[dovecot-cvs] dovecot TODO,1.19,1.20
cras at procontrol.fi
cras at procontrol.fi
Thu Oct 24 05:55:21 EEST 2002
Update of /home/cvs/dovecot
In directory danu:/tmp/cvs-serv30716
RCS file: /home/cvs/dovecot/TODO,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- TODO 22 Oct 2002 23:45:29 -0000 1.19
+++ TODO 24 Oct 2002 01:55:19 -0000 1.20
@@ -5,11 +5,6 @@
the old file.. and check that deleting file does "inconsistency error"
- if we have entries in modifylog with UID 10..11, 9..12, 8..13 etc.
do they work correctly?
- - when modifylog gets switched, the others who haven't synced it try to
- add flag changes add them to old file.. we need to support having two files
- open, one for reading and one for writing (or just one for both).
- - if we're only process accessing modify log when it gets full, we can just
- truncate it instead of switching
- if imap process notices that both modify logs are getting full because it's
client isn't syncing, the client should be disconnected
@@ -29,36 +24,30 @@
- MAP_SHARED with NFS doesn't update well. add option to update sync_id
after every change in file. when reading, if sync_id hasn't changed also
check with lseek()+read() if it has changed.
- - mail-index.c, mail-index-data.c needs to keep track if file has been
- - use fdatasync() instead of fsync() in several places
- - mail_index_sync_file() does msync(), fsync(), msync(), fsync(), .. would
- be faster to do msync(), msync(), .., fsync(), fsync(), ..
- - would be nice if file_wait_lock() could timeout... use alarm() and get
- timeout parameter
+ - mail-index.c needs to keep track if file has been modified, which is
+ a bit difficult since it's done in so many places
+ - do we want it after all? indexes aren't required and they'd be slow
+ through NFS.
- RENAME: If the name has inferior hierarchical names, then the inferior
hierarchical names MUST also be renamed (ie. foo -> bar renames
also foo/bar -> bar/bar). (and RENAME INBOX!)
- passwd-file doesn't notice changes in the file
- - tree file is never shrinked
- tree has some locking issues while opening it
- SEARCH FROM/TO/CC/BCC now generates the field from ENVELOPE which it uses
for matching. This however gives different results than when matching from
- - when fetching body/envelope we could try to index it immediately if
+ - when fetching body/envelope we could try to cache it immediately if
we can get lock with try_lock.
- - maildir could support flag parameters like file:2,S,U1030712092. also
- could support that format for UIDs with .uidvalidity file. And mbox
- could support the X-UID field..
- - APPENDed mails have wrong time? (-5h, maildir (no it doesn't? what about
- with OE?))
+ - we need permanent storage for UIDs. with mbox use X-UID like UW-IMAP,
+ with maildir a) file:2,flags,Uuid b) file,U=uid:2,flags. uid validity
+ would be in .uidvalidity file. the b-case would require that to be done
+ by the client moving it from new/ to cur/
+ - other possible maildir flags to use in filename: S=size (file size,
+ for maildir++ quota), W=size (rfc822.size by some uw-imap patch)
- mbox: what if 1 msg is deleted is x-imapbase rewritten?
- check that search message-id worked properly always
- check that search's OR and () work properly
- - imap/ and lib-imap/ should allow infinite number of custom flags, it's
- storage's problem if it can't handle too many of them.
- are the lowwater marks always reset to 0 when they don't exist? could be
just as well set to next_uid..
- optionally use only in-memory indexes
@@ -191,6 +180,10 @@
- support Maildir++ quota
- maybe give more untagged NO/ALERT replies? like when mailbox is in
inconsistent state. and when UIDs are reordered because they're too large.
+ - *_strdup_printf() functions could use C99 compatible vsnprintf() instead of
+ - imap/ and lib-imap/ should allow infinite number of custom flags, it's
+ storage's problem if it can't handle too many of them.
auth / login:
- kchuid, SRP, anonymous SASL
More information about the dovecot-cvs