# Known bugs in the Cyrus IMAP Server

### imapd and core utilities

- Multiple APPENDs don't always correctly return the EXISTS response.
- Particularly large quotas can wrap around.
- The RENAME command does not have the hierarchical behavior required by the IMAP4rev1 specification. The CAPABILITY command now returns X-NON-HIERARCHICAL-RENAME in its response in order to advertise this bug. We plan to have this fixed eventually.

### 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.
- Once a Sieve script is in place, a "keep" action will obey plus addressing, regardless of the ACLs on the mailbox.

### 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 doesn't handle BYE quite properly (especially a BYE right after connect).
- `imtest` doesn't properly default to using the LOGIN command. also, it would be nice for the authorization name to default to the authentication name, except when specifically overridden.

# Things we want to do

- Implement the IMAP ID extension.
- Implement the IMAP VIEW extension.
- Implement the IMAP SORT and THREAD extensions.
- The vacation action in Sieve shouldn't respond to messages that have an "Auto-Submitted" category anything but "No".

Please report bugs to cyrus-bugs@andrew.cmu.edu. Be sure to include (at least) system type, compiler used, and the options passed to configure, along with a detailed report. Additional information is welcome, and naturally, patches are deeply appreciated.

If you submit a patch, please send unified diffs (-u) if your diff program supports them, or context diffs (-c) if it doesn't. Plain diffs are very difficult to evaluate.

Return to the Cyrus IMAP Server Home Page