                     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. 

