Known bugs in the Cyrus IMAP Server
We're working on moving to a Bugzilla database. It's still
being built up, but you can search/add to it here. Eventually, all the
bugs below will be in there.
imapd and core utilities
- Multiple APPENDs don't always correctly return the EXISTS
response. (can't reproduce?)
- Particularly large quotas can wrap around.
- The RENAME command is not atomic.
- reconstruct doesn't deal with the mailboxes.db file.
- we should deal with having to reset UIDs
- the algorithm used for naming stage files is fragile and not
threadsafe.
- during appendstage(), the message is parsed once per delivery,
not once at the beginning.
- master should pay attention to processes that have told
it they are listening, and make sure they don't die abnormally.
likewise, it should be on the lookout for continually forking
services.
- master should probably have a babysitting service
("always keep this process running").
proxyd and Cyrus Murder
- RENAME across servers isn't implemented.
- Tagged lines with literals can cause problems for proxyd.
lmtpd, deliver, and sieve
- 8-bit set characters are coerced to 'X', but not before the notify_zephyr
code (if used) has had a chance to send them out.
- Deliver does not handle messages containing NUL properly due to
stdio problems (the characters between the NUL and the LF will be
lost.)
- Deliver doesn't gracefully handle CR CR sequences in messages.
Well, ok, it hangs.
authentication and authorization
- Using AFS groups with ptclient, users with negative rights as part of
groups may be granted access to mailboxes if ptclient has died. We plan
to have this fixed eventually.
- In some failures of the krbck program, the error messages printed out
bear no resemblance to what actually went wrong.
other utilities
- cyradm may need to change authname/username stuff.
Something to check.
- imtest: it would be nice for the authorization name to
default to the authentication name, except when specifically
overridden.
- any utilities doing db operations should catch signals and poll
for them to see if it should exit (like mbpath, ipurge).
- imtest uses getpass() to grab passwords from
users. On some systems (Solaris reported), this will only return the
first 8 characters, causing authentication failures.
libraries
Things we want to do
- Implement the IMAP VIEW extension.
- Implement the IMAP ANNOTATE extension.
- Implement some sort of backup/restore system that's more
efficient and easier to use than Amanda on the filesystem.
- Add mailbox version numbers.
- Add mailbox tombstones (gives NEWNAME support).
- Design and implement ALIST, the advanced list command.
- Investigate changing from the prot layer to using sfio.
- Write a test module for lmtpengine.
- Allow renaming users. (RENAME user.joe user.harry.) Needs to
move all metadata per-user data. (seen, subscriptions, sieve state?)
Please refer to Sending Feedback if you
would like to submit a bug, feature request or (best of all) patch.
Last update: $Date: 2004/03/22 00:30:59 $
Return to the Cyrus IMAP Server Home Page