[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Classpathx-javamail] Re: Bug in 1.1.2: Folder.search() alters Folder.mo
From: |
Boris Folgmann |
Subject: |
[Classpathx-javamail] Re: Bug in 1.1.2: Folder.search() alters Folder.mode (works with 1.1.1) |
Date: |
Fri, 13 Nov 2009 15:24:08 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.1.4) Gecko/20091112 SeaMonkey/2.0 |
Hi Chris,
Chris Burdess schrieb/wrote:
The mode is only changed from a call to update(MailboxStatus,
boolean). This can happen during various method calls, but not search
(). Are you sure this is your complete code with respect to IMAPFolder?
Yes, I tried some even simpler constructions:
public void modeBug() throws MessagingException, IOException
{
try {
store.connect();
Folder folder = store.getFolder("empty IMAP folder");
folder.open(Folder.READ_WRITE);
System.out.println("10 mode: " + folder.getMode());
folder.expunge();
System.out.println("20 mode: " + folder.getMode());
folder.search(remoteDsnTerm); // returns 0 msgs, as folder is empty
System.out.println("30 mode: " + folder.getMode());
folder.close(true);
} finally {
store.close();
}
}
The output is:
10 mode: 2
20 mode: 2
30 mode: 1
I further investigated and found out that the mode change does not happen
with every search term. Here's mine triggering the bug:
remoteDsnTerm = new AndTerm(new SearchTerm[] {
new OrTerm(new SearchTerm[] {
new FromStringTerm("Mail Delivery Subsystem <MAILER-DAEMON@"),
new FromStringTerm("Mail Delivery System <MAILER-DAEMON@"),
new FromStringTerm("Mail Delivery Service <postmaster@")
}),
new RecipientTerm(Message.RecipientType.TO, new
InternetAddress(toAddress)),
new HeaderTerm("content-type", "multipart/report;
report-type=delivery-status;")
});
1. The bug happens not if the complete OrTerm is removed.
2. The bug happens not if expunge() is not called before search().
I hope you find the problem.
cu,
boris