[Dovecot] 1.0 beta3 not preserving X-Keyword header?
We've been putting 1.0 Beta 3 through the paces on our test system, and one of our users pointed out to me that Thunderbird's "labels" behave strangely on the new server. In fact, there used to be a header added to the message via IMAP when Thunderbird placed a label on a message, but as of the switch from 0.99.11 to 1.0beta3, this label header is no longer placed in the message.
Specifically, Thunderbird adds the "X-Keyword: $LabelN" header when you add a label to the message in tbird, where "N" is [1-9]. This works on dovecot 0.99.11 (RHEL4), but not on 1.0beta3. 1.0b3 doesn't seem to add this header at all, but rather seems to keep this information somewhere else. Perhaps in the .imap indexes?
We're using mbox stores on the server. This was tested with both Thunderbird 1.0.7 (most widely deployed) and Thunderbird 1.5.
Aditionally, we've found that if the .imap index directories are removed, all the Thunderbird labels on messages seem to get "confused", too. I.e., if the user uses multiple machines throughout the day, changes in one client may not be reflected in another, when the user moves to a different system.
I'm still trying to get more details from the users, but have been doing preliminary testing that verifies this. One of the users complaining about this is my manager, who makes extensive use of Thunderbird's "Label" feature, so he's a bit nervous. :\
Another thing we've noticed is the potential for bad behavior if a use switches from the old dovecot to the new dovecot, which seems to be resolved if the .imap indexes are removed...
Let me know what other information is needed, and I'll do my best to collect it.
Gregory
-- Gregory K. Ruiz-Ade Sr. Systems Administrator Computer Science and Engineering University of California, San Diego Office: EBU3b 1216 Phone: (858) 822-2625 E-mail: gkra@ucsd.edu
On Mar 7, 2006, at 11:02 PM, Gregory K. Ruiz-Ade wrote:
Specifically, Thunderbird adds the "X-Keyword: $LabelN" header when
you add a label to the message in tbird, where "N" is [1-9]. This
works on dovecot 0.99.11 (RHEL4), but not on 1.0beta3. 1.0b3
doesn't seem to add this header at all, but rather seems to keep
this information somewhere else. Perhaps in the .imap indexes?
No, it should work the exact same way with beta3, and it does work
with me.
Aditionally, we've found that if the .imap index directories are
removed, all the Thunderbird labels on messages seem to get
"confused", too. I.e., if the user uses multiple machines
throughout the day, changes in one client may not be reflected in
another, when the user moves to a different system.
This also sounds like there's something else wrong. Almost as if
Dovecot treats the mboxes as read-only and never writes the X-UID
etc. headers into them either?
Another thing we've noticed is the potential for bad behavior if a
use switches from the old dovecot to the new dovecot, which seems
to be resolved if the .imap indexes are removed...
1.0beta doesn't even notice the old indexes, so deleting them
shouldn't have any effect.
Timo Sirainen wrote:
No, it should work the exact same way with beta3, and it does work with me.
Odd... Maybe I have a setting wrong?
Aditionally, we've found that if the .imap index directories are
removed, all the Thunderbird labels on messages seem to get
"confused", too. I.e., if the user uses multiple machines throughout the day, changes in one client may not be reflected in another, when the user moves to a different system.This also sounds like there's something else wrong. Almost as if
Dovecot treats the mboxes as read-only and never writes the X-UID etc. headers into them either?
No, X-UID headers are definitely getting written in, and the Status header is being updated, too. It's allowing moves and deletes and expunges like normal. Just things like X-Keywords aren't being added when a client requests it.
The config file I'm using is:
protocols = imaps ssl_cert_file = /usr/share/ssl/certs/csefast.ucsd.edu_cert.pem ssl_key_file = /usr/share/ssl/private/csefast.ucsd.edu_key.pem login_greeting = Dovecot ready. max_mail_processes = 2048 verbose_proctitle = yes verbose_ssl = yes first_valid_uid = 100 mail_debug = yes default_mail_env = mbox:~/:INBOX=/var/mail/%u mail_full_filesystem_access = yes mbox_write_locks = dotlock fcntl protocol imap { ssl_listen = *:997 login_greeting_capability = yes } protocol pop3 { } auth_verbose = yes auth_debug = yes auth default { mechanisms = plain passdb pam { args = session=yes dovecot } userdb passwd { } user = root }
1.0beta doesn't even notice the old indexes, so deleting them shouldn't have any effect.
Ah, okay, that actually makes me feel better. :)
Gregory
-- Gregory K. Ruiz-Ade Sr. Systems Administrator Computer Science and Engineering University of California, San Diego Office: EBU3b 1216 Phone: (858) 822-2625 E-mail: gkra@ucsd.edu
On Tue, 2006-03-07 at 15:44 -0800, Gregory K. Ruiz-Ade wrote:
Timo Sirainen wrote:
No, it should work the exact same way with beta3, and it does work with me.
Odd... Maybe I have a setting wrong?
No, they are enabled always.
Aditionally, we've found that if the .imap index directories are
removed, all the Thunderbird labels on messages seem to get
"confused", too. I.e., if the user uses multiple machines throughout the day, changes in one client may not be reflected in another, when the user moves to a different system.This also sounds like there's something else wrong. Almost as if
Dovecot treats the mboxes as read-only and never writes the X-UID etc. headers into them either?No, X-UID headers are definitely getting written in, and the Status header is being updated, too. It's allowing moves and deletes and expunges like normal. Just things like X-Keywords aren't being added when a client requests it.
Are the $Labels listed in X-IMAP or X-IMAPbase header in the first mail?
Try this manually:
MAIL=~/mail /usr/local/libexec/dovecot/imap x select mailbox x store 1 +flags test x fetch 1 flags x logout
Does the "test" keyword get added to mbox either?
Timo Sirainen wrote:
Are the $Labels listed in X-IMAP or X-IMAPbase header in the first mail?
Well, there is an X-IMAPbase header in the first message, but it does not seem to change when I diddle with Thunderbird's labels.
So, before I did anything, with thunderbird closed:
gruizade@csefast(pts/0):~ 49 > echo $MAIL
/var/spool/mail/gruizade
gruizade@csefast(pts/0):~ 50 > cp $MAIL inbox.backup
/var/spool/mail/gruizade' ->
inbox.backup'
gruizade@csefast(pts/0):~ 51 > diff inbox.backup $MAIL
That diff verified that my copy is the same as my inbox.
Then I opened thunderbird, and applied $Label1 through $Label5 to the first five messages, respectively. I then told Thunderbird to compact all folders, and then quit. Then I tried to see what changed:
gruizade@csefast(pts/0):~ 52 > diff inbox.backup $MAIL
Diff told me, sadly, that nothing changed in my inbox. Thunderbird, though, seems to think the messages are still tagged, which leads me to believe the tagging is somehow cached either in Thunderbird, or somewhere else. I have no idea where that somewhere else would be, though, because Thunderbird on _another_ machine will pick up the labels, but no idea from where!
Both before and after I applied the labels, my X-IMAPbase header looked like:
X-IMAPbase: 1129222811 0000045702 $NotJunk JunkRecorded NonJunk $Label3 Junk $Label1 $Label2 $Label4 $Label5
It only seems to change when messages are added or removed from the inbox, and the only part that changes is the second number (last UID?) As messages are read, Status and X-UID headers are added/updated properly, though.
Try this manually:
MAIL=~/mail /usr/local/libexec/dovecot/imap x select mailbox x store 1 +flags test x fetch 1 flags x logout
Does the "test" keyword get added to mbox either?
Here's the session:
gruizade@csefast(pts/8):~ 25 > setenv MAIL ~/inbox.backup;
? /usr/local/libexec/dovecot/imap
- PREAUTH [CAPABILITY IMAP4rev1 SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS] Logged in as gruizade x select inbox
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft $NotJunk JunkRecorded NonJunk)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft $NotJunk JunkRecorded NonJunk \*)] Flags permitted.
- 31 EXISTS
- 0 RECENT
- OK [UIDVALIDITY 1129222811] UIDs valid
- OK [UIDNEXT 45703] Predicted next UID x OK [READ-WRITE] Select completed. x store 1 +flags test
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft $NotJunk JunkRecorded NonJunktest $Label3 Junk $Label1 $Label2 $Label4 $Label5)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft $NotJunk JunkRecorded NonJunk test $Label3 Junk $Label1 $Label2 $Label4 $Label5 \*)] Flags permitted.
- 1 FETCH (FLAGS (\Flagged \Seen test)) x OK Store completed. x fetch 1 flags
- 1 FETCH (FLAGS (\Flagged \Seen test)) x OK Fetch completed. x logout
- BYE Logging out x OK Logout completed.
Looking in the mailbox after this test, there is indeed an X-Keywords header:
X-Keywords: test
Yet, no matter which Thunderbird I try to use, on which platform, this doesn't happen.
So, I'm really confused now.
Gregory
-- Gregory K. Ruiz-Ade Sr. Systems Administrator Computer Science and Engineering University of California, San Diego Office: EBU3b 1216 Phone: (858) 822-2625 E-mail: gkra@ucsd.edu
On Wed, 2006-03-08 at 09:20 -0800, Gregory K. Ruiz-Ade wrote:
Try this manually:
MAIL=~/mail /usr/local/libexec/dovecot/imap x select mailbox x store 1 +flags test x fetch 1 flags x logout
Does the "test" keyword get added to mbox either? .. Looking in the mailbox after this test, there is indeed an X-Keywords header:
X-Keywords: test
Yet, no matter which Thunderbird I try to use, on which platform, this doesn't happen.
Have you figured this out yet or have the later betas fixed it? The above command doesn't make Dovecot use all of its settings. Perhaps those had something to do with it. So instead of running imap directly, does the same happen also with:
telnet localhost 143 x login user ..and the rest of the commands..
I'm guessing maybe it has/had something to do with mbox_lazy_writes setting.
On Jun 17, 2006, at 1:31 PM, Timo Sirainen wrote:
Have you figured this out yet or have the later betas fixed it? The above command doesn't make Dovecot use all of its settings. Perhaps those had something to do with it. So instead of running imap
directly, does the same happen also with:
Actually, we were in a serious time crunch, and reverted back to UW-
IMAPd. After the next couple of projects get back under the belt, I
think I'm going to try to get dovecot running again on a test system
and see if I run into the same issues.
I'll let you guys know when I do this if the issue's resolved with
whatever the latest code is when I get to test this.
Gregory
-- Gregory K. Ruiz-Ade Sr. Systems Administrator Computer Science and Engineering University of California, San Diego Office: EBU3b 1216 Phone: (858) 822-2625 E-mail: gkra@ucsd.edu
On Tue, 7 Mar 2006, Gregory K. Ruiz-Ade wrote:
We've been putting 1.0 Beta 3 through the paces on our test system, and one of our users pointed out to me that Thunderbird's "labels" behave strangely on the new server. In fact, there used to be a header added to the message via IMAP when Thunderbird placed a label on a message, but as of the switch from 0.99.11 to 1.0beta3, this label header is no longer placed in the message.
Try setting the mail_max_keyword_length option in dovecot.conf:
# Maximum allowed length for mail keyword name. It's only forced when trying # to create new keywords. mail_max_keyword_length = 50
Peter
On Mar 8, 2006, at 12:00 AM, Peter Svensson wrote:
Try setting the mail_max_keyword_length option in dovecot.conf:
# Maximum allowed length for mail keyword name. It's only forced
when trying # to create new keywords. mail_max_keyword_length = 50
That doesn't seem to affect the behavior at all.
Gregory
-- Gregory K. Ruiz-Ade Sr. Systems Administrator Computer Science and Engineering University of California, San Diego Office: EBU3b 1216 Phone: (858) 822-2625 E-mail: gkra@ucsd.edu
Hi Gregory,
I recently been testing Dovecot (the RPM version was 1.0-0_4_stable20050221.rh9.at) on of our RedHat9 servers using Maildirs. I am experiencing problem with Thunderbird 1.0 and 1.5 with message headers getting mixed up (i.e. you click on the message header in the list pane and it displays the message body of the next email in the list).
However when using Outlook Express (yes I have to admit I used it for testing!!) and Squirrelmail the messages are displayed correctly, which suggest it maybe a bug in Thunderbird. Interestingly I found a bugzilla report which looks like the same issue at: https://bugzilla.mozilla.org/show_bug.cgi?id=209561
I am gonna try switching back to mbox on the server and see if this fixes the problem (although I'd really like Maildir to work as its so much faster)
-- Reuben Pearse Principal Technical Consultant reuben.pearse@pslconnect.com T +44 121 428 4440 F +44 121 428 3454 PSL The Old Sewing Factory 5a Greenfield Road Harborne Birmingham B17 0ED
To find out more about our services please visit http://www.pslconnect.com
"Gregory K. Ruiz-Ade" <gkra@ucsd.edu> Sent by: dovecot-bounces@dovecot.org 07/03/2006 21:02
To dovecot@dovecot.org cc
Subject [Dovecot] 1.0 beta3 not preserving X-Keyword header?
We've been putting 1.0 Beta 3 through the paces on our test system, and one of our users pointed out to me that Thunderbird's "labels" behave strangely on the new server. In fact, there used to be a header added to the message via IMAP when Thunderbird placed a label on a message, but as of the switch from 0.99.11 to 1.0beta3, this label header is no longer placed in the message.
Specifically, Thunderbird adds the "X-Keyword: $LabelN" header when you add a label to the message in tbird, where "N" is [1-9]. This works on dovecot 0.99.11 (RHEL4), but not on 1.0beta3. 1.0b3 doesn't seem to add this header at all, but rather seems to keep this information somewhere else. Perhaps
in the .imap indexes?
We're using mbox stores on the server. This was tested with both Thunderbird 1.0.7 (most widely deployed) and Thunderbird 1.5.
Aditionally, we've found that if the .imap index directories are removed, all the Thunderbird labels on messages seem to get "confused", too. I.e.,
if the user uses multiple machines throughout the day, changes in one client may not be reflected in another, when the user moves to a different system.
I'm still trying to get more details from the users, but have been doing preliminary testing that verifies this. One of the users complaining about this is my manager, who makes extensive use of Thunderbird's "Label" feature, so he's a bit nervous. :\
Another thing we've noticed is the potential for bad behavior if a use switches from the old dovecot to the new dovecot, which seems to be resolved if the .imap indexes are removed...
Let me know what other information is needed, and I'll do my best to collect it.
Gregory
-- Gregory K. Ruiz-Ade Sr. Systems Administrator Computer Science and Engineering University of California, San Diego Office: EBU3b 1216 Phone: (858) 822-2625 E-mail: gkra@ucsd.edu
-- CONFIDENTIALITY NOTICE The information contained in this e-mail is intended only for the confidential use of the above named recipient. If you are not the intended recipient or person responsible for delivering it to the intended recipient, you have received this communication in error and must not distribute or copy it. Please accept the sender's apologies, notify the sender immediately by return e-mail and delete this communication. Thank you.
On Wed, 2006-03-08 at 09:43 +0000, Reuben Pearse wrote:
I recently been testing Dovecot (the RPM version was 1.0-0_4_stable20050221.rh9.at) on of our RedHat9 servers using Maildirs. I am experiencing problem with Thunderbird 1.0 and 1.5 with message headers getting mixed up (i.e. you click on the message header in the list pane and it displays the message body of the next email in the list).
Please use 1.0beta3 instead. Lots of bugs have been fixed since 1.0-stables, including this one.
I am gonna try switching back to mbox on the server and see if this fixes the problem (although I'd really like Maildir to work as its so much faster)
Maildir isn't necessarily faster. In fact I think it's slower for most common uses. It's more reliable though.
participants (4)
-
Gregory K. Ruiz-Ade
-
Peter Svensson
-
Reuben Pearse
-
Timo Sirainen