A NOTE has been added to this issue. ====================================================================== http://www.dbmail.org/mantis/view.php?id=535 ====================================================================== Reported By: paul Assigned To: ====================================================================== Project: DBMail Issue ID: 535 Category: IMAP daemon Reproducibility: always Severity: minor Priority: normal Status: new target: ====================================================================== Date Submitted: 14-Mar-07 09:38 CET Last Modified: 15-Mar-07 10:37 CET ====================================================================== Summary: EXPUNGE response is incorrect Description: The EXPUNGE response doesn't return the correct response if the Deleted flag was stored silently ======================================================================
---------------------------------------------------------------------- idk - 15-Mar-07 10:37 ---------------------------------------------------------------------- I don't know if the condition is setting deleted flag silently, but I found this incorrect behaviour of EXPUNGE command: 000R UID STORE 542930,542932,542934,542936,542939,542941 +FLAGS.SILENT (\Deleted \Seen) 000R OK UID STORE completed 000S EXPUNGE * 87 EXPUNGE * 88 EXPUNGE * 89 EXPUNGE * 90 EXPUNGE * 91 EXPUNGE * 92 EXPUNGE 000S OK EXPUNGE completed The problem is in invalid order of * EXPUNGE messages. By the RFC for this example there is two choices: send this messages in reverse order or six time send the same * 87 EXPUNGE. I thought over my problem with expunging more messages (in SquirrelMail as well as Outlook Express, the most popular IMAP clients of my users) by studying MSOE log files. Then I found inconsistency between MSOE log and packet capture out (in test reported above MSOE logged only last messsage OK EXPUNGE). Till now I'll belive packet sniffer only. But I don't understand this: in db_expunge is SELECT message_idnr FROM messages ORDER BY message_idnr DESC, so near right for report (report should has not UID), but after returning of fetched ids back into _ic_expunge ones are destroyed (dm_free(msgids)) and then is called dbmail_imap_session_mailbox_status which prints via imap_msginfo_notify "* %llu EXPUNGE\r\n" out in g_tree_foreach loop for oldmsginfo = self->msginfo. From where is self->msginfo filled? db_expunge has no ref parameter to self... Issue History Date Modified Username Field Change ====================================================================== 14-Mar-07 09:38 paul New Issue 14-Mar-07 10:01 paul Description Updated 14-Mar-07 13:53 jasb Issue Monitored: jasb 15-Mar-07 10:37 idk Note Added: 0001900 ====================================================================== _______________________________________________ Dbmail-dev mailing list [email protected] http://twister.fastxs.net/mailman/listinfo/dbmail-dev
