]> code.citadel.org Git - citadel.git/commitdiff
* Implemented a workaround for the IMAP "expungebob bug." Specifically, since
authorArt Cancro <ajc@citadel.org>
Wed, 1 Jun 2005 22:32:58 +0000 (22:32 +0000)
committerArt Cancro <ajc@citadel.org>
Wed, 1 Jun 2005 22:32:58 +0000 (22:32 +0000)
  we don't store the \Deleted flag persistently (and instead auto-expunge
  folders when they are de-selected) we were not advertising \Deleted as
  a PERMANENTFLAGS flag.  This was causing some clients (particularly
  Thunderbird) to misbehave -- they were simply electing not to transmit the
  flag at all.  As a workaround, \Deleted is now advertised as a
  PERMANENTFLAGS flag, even though it technically isn't.

citadel/ChangeLog
citadel/imap_store.c
citadel/serv_imap.c

index 7d417c34f093506b65a101b5c1b713e28fb2cd46..3c075a6498beaf2fdf2d20d15a0eff90808577d6 100644 (file)
@@ -6764,3 +6764,4 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
        * Initial CVS import
+
index 509c1402ba1c4877783c4ddb35df76c67d677e58..1e65dae4c81c1db07743d7c6ee0ccf429efe9d57 100644 (file)
@@ -92,9 +92,6 @@ void imap_do_store_msg(int seq, char *oper, unsigned int bits_to_twiddle) {
                );
        }
 
-       lprintf(CTDL_DEBUG, "imap_do_store_msg(%d, %s, %d)\n",
-               seq, oper, bits_to_twiddle);
-
        /* 'silent' is actually the value returned from a strncasecmp() so
         * we want that option only if its value is zero.  Seems backwards
         * but that's the way it's supposed to be.
index bdd85821e6cb63786970acb697fb04e5d5f0eb8a..70788cd7cc62eed3b3ee6f6c39641f26c6026fbe 100644 (file)
@@ -677,7 +677,7 @@ void imap_select(int num_parms, char *parms[])
         * automatically expunges mailboxes when they are de-selected.
         */
        cprintf("* FLAGS (\\Deleted \\Seen \\Answered)\r\n");
-       cprintf("* OK [PERMANENTFLAGS (\\Seen \\Answered)] "
+       cprintf("* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered)] "
                "permanent flags\r\n");
 
        cprintf("%s OK [%s] %s completed\r\n",