diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2010-11-09 11:14:53 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2010-11-09 11:16:50 +0200 |
commit | 78e57f7ec9df1547dd5e176a97fa1f8954b51c09 (patch) | |
tree | 2e23c627130a90ca00380764c4a554eaa7427c29 /testsuite/Makefile.am | |
parent | 78d43b05bf6dfd37b5f251715211f48f3f22fb58 (diff) | |
download | mailutils-78e57f7ec9df1547dd5e176a97fa1f8954b51c09.tar.gz mailutils-78e57f7ec9df1547dd5e176a97fa1f8954b51c09.tar.bz2 |
Fix the "UNIX mailbox first message symptom".
UFMS, or "UNIX mailbox first message symptom", is a long-standing
bug that existed in all previous versions of Mailutils: under
certain circumstances, a fragment of the message headers would get
prepended to the body of the very first message in a UNIX mailbox.
See the detailed description in testsuite/ufms.c.
Along with fixing this bug, this change also ensures a proper restoring
of UIDs from UNIX mailboxes.
* libproto/mbox/mbox.c (_msg_body_setup): Call mu_body_clear_modified
after constructing the body.
(new_message): Ditto for mu_message_clear_modified.
(mbox_reset): Rewrite. Drop all cached messages and rescan entire
mailbox to avoid the "1st message symptom".
(mbox_expunge0): Change the call to mbox_reset.
* libproto/mbox/mboxscan.c (IS_X_UID, IS_X_IMAPBASE): New macros.
(mbox_scan_internal): Change handling of min_uid.
Attempt to get UID and imapbase from the corresponding message headers.
(mbox_scan0): Reflect the above changes.
* testsuite/.gitignore: Add ufms.
* testsuite/Makefile.am (noinst_PROGRAMS): Add ufms.
(TESTSUITE_AT): Add ufms.at.
* testsuite/testsuite.at: Include ufms.at.
* testsuite/ufms.at: New test case.
* testsuite/ufms.c: New test program.
* imap4d/testsuite/imap4d/expunge.exp: Fix UIDNEXT expectation.
Diffstat (limited to 'testsuite/Makefile.am')
-rw-r--r-- | testsuite/Makefile.am | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index 5c243b1a4..6e36255c1 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -42,7 +42,8 @@ INCLUDES = @MU_LIB_COMMON_INCLUDES@ noinst_PROGRAMS = \ mbdel\ mimetest\ - smtpsend + smtpsend\ + ufms LDADD = \ ${MU_LIB_MBOX}\ @@ -68,6 +69,7 @@ smtpsend_LDADD = \ TESTSUITE_AT = \ mbdel.at\ mime.at\ + ufms.at\ testsuite.at TESTSUITE = $(srcdir)/testsuite |