[Dovecot] Reverting from 2.0. to 1.2
Hello Timo,
I switched this morning from dovecot-1.2.12 to 2.0.8 with a basic setup (high performance login mode, Maildir, everyhing on NFS, one shared but unused namespace).
No problem so far except that some Thunderbird users who wouldn't succeed in moving messages from some one folder to another. They'd get a message about some illegal character in the mailboxname (already existing mailbox of course). This is user input so I don't have any details nor sufficient element to consider it a real problem. A Thunderbird restart seems to solve the problem.
My questions were :
. is there a different handling in the hierarchy separator (internal or advertized for the namespace) ? (I use "/" for both namespaces and "." since in Maildir).
. is there a different handling in the non-ASCII mailbox names ? Could it be related ?
. if something goes really wrong, is it safe to revert to 1.2.12 ? Maybe some files has non-compatible format (dovecot-uidlist, indexes, ...) ?
Thanks.
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On Wed, Dec 22, 2010 at 04:13:20PM +0100, Thomas Hummel wrote:
This is user input so I don't have any details nor sufficient element to consider it a real problem. A Thunderbird restart seems to solve the problem.
However, some info seems to confirm that it involves moving a message from a mailbox to another where one of the mailbox has got non-ASCII character. A restart of TB seems to fix the problem indeed.
For instance, on a server where :
% locale LANG= LC_CTYPE="C" LC_COLLATE="C" LC_TIME="C" LC_NUMERIC="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL=
such a mailbox "encode" the "é" character as "&AOk"
I'm not really sure which encoding it is (UTF-7 ? 8 ?)
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On Wed, Dec 22, 2010 at 04:42:28PM +0100, Thomas Hummel wrote:
However, some info seems to confirm that it involves moving a message from a mailbox to another where one of the mailbox has got non-ASCII character. A restart of TB seems to fix the problem indeed.
hmmm, not so sure as some other user states the message (which I still haven't seen myself) talks about "." as the invalid character. Which is strange because, of course it's invalid in Maildir by default but I don't see why Thuderbird would complain about that on previously (with dovecot-1.2) existing and "working" mailboxes.
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On Wed, Dec 22, 2010 at 05:28:07PM +0100, Thomas Hummel wrote:
hmmm, not so sure as some other user states the message (which I still haven't seen myself) talks about "." as the invalid character.
And finally one case correctly described :
A user couldn't move a message from .Sent/ to .GVV-tangy.GVV/ Thunderbird said :
Character not allowed in mailbox name: '.'.
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On Wed, Dec 22, 2010 at 05:38:06PM +0100, Thomas Hummel wrote:
On Wed, Dec 22, 2010 at 05:28:07PM +0100, Thomas Hummel wrote:
hmmm, not so sure as some other user states the message (which I still haven't seen myself) talks about "." as the invalid character.
And finally one case correctly described :
A user couldn't move a message from .Sent/ to .GVV-tangy.GVV/ Thunderbird said :
Character not allowed in mailbox name: '.'.
So far, each case I've heard about involve moving a message to a subfolder (hence the message about the internal Maildir separator I guess). Still don't understant what happens.
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On 22.12.2010, at 18.38, Thomas Hummel wrote:
A user couldn't move a message from .Sent/ to .GVV-tangy.GVV/ Thunderbird said :
Character not allowed in mailbox name: '.'.
So you have Maildir++ layout and you don't have listescape plugin? And you have namespace separator set to '/'?
In such setup having '.' just isn't valid. All '.' characters in the directory name get converted to '/'. If on filesystem you have .GVV-tangy.GVV/, that shows up to client as "GVV-tangy/GVV". There should be no '.' anywhere.
You could enable rawlog to see what the clients are trying to do. http://wiki2.dovecot.org/Debugging/Rawlog
On Wed, Dec 22, 2010 at 07:12:29PM +0200, Timo Sirainen wrote:
Thanks and sorry for the fuzzy description but it's all I've got for now ;-(
So you have Maildir++ layout and you don't have listescape plugin?
Yes.
And you have namespace separator set to '/'?
Yes (which is the default, isn't it ?)
I've been like this in 1.2.12. The only thing I changed is that I commented out the global "location" directive to specify it by namesapce.
In such setup having '.' just isn't valid. All '.' characters in the directory name get converted to '/'.
I know, that's why it makes no sense to me that TB complains about a ".".
By the way, if talking imap directly (telnet), I wouldn't even be able to specify a dot in a mailbox name in command, right ? I guess that would be interpreted as a hierarchy separator. So this TB message is really strange.
If on filesystem you have .GVV-tangy.GVV/, that shows up to client as "GVV-tangy/GVV". There should be no '.' anywhere.
Exactly.
You could enable rawlog to see what the clients are trying to do. http://wiki2.dovecot.org/Debugging/Rawlog
Should I restart dovecot or just a SIGHUP ?
My other questions remains :
. can we revert from 2.0.8 to 1.2.12 (just in case) ?
. is there, between 1.2.12 and 2.0.8 some noticeable behavior regarding mailbox name encoding ?
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On 22.12.2010, at 22.31, Thomas Hummel wrote:
And you have namespace separator set to '/'?
Yes (which is the default, isn't it ?)
No, default is '.' with maildir.
In such setup having '.' just isn't valid. All '.' characters in the directory name get converted to '/'.
I know, that's why it makes no sense to me that TB complains about a ".".
By the way, if talking imap directly (telnet), I wouldn't even be able to specify a dot in a mailbox name in command, right ? I guess that would be interpreted as a hierarchy separator. So this TB message is really strange.
No, you can give a dot in the mailbox name. That's exactly when you get this error message.
You could enable rawlog to see what the clients are trying to do. http://wiki2.dovecot.org/Debugging/Rawlog
Should I restart dovecot or just a SIGHUP ?
SIGHUP is enough (or "dovecot reload" is a prettier way nowadays).
My other questions remains :
. can we revert from 2.0.8 to 1.2.12 (just in case) ?
Yes.
. is there, between 1.2.12 and 2.0.8 some noticeable behavior regarding mailbox name encoding ?
I'm not sure. v1.2 might have silently allowed this problem to happen and just treat '.' as hierarchy separator (or maybe not).
Do you have any shared/public namespaces?
On Wed, Dec 22, 2010 at 10:44:28PM +0200, Timo Sirainen wrote:
No, default is '.' with maildir.
Oh my god, you're right :
in 1.2.12, I left the separator= commented out, so I had the default. in 2.0.8 I set separator = / myself.
Still I can't see why it would lead TB to use a dot in a previously existing mailbox name.
The separator is just the separator used by the client in the mailboxnames when it sends commands to the server, right ?
Do you have any shared/public namespaces?
Yes, one shared namespace, with separator = / too.
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On Wed, Dec 22, 2010 at 09:52:51PM +0100, Thomas Hummel wrote:
in 1.2.12, I left the separator= commented out, so I had the default. in 2.0.8 I set separator = / myself.
Still I can't see why it would lead TB to use a dot in a previously existing mailbox name.
Could it be that because of my change, the server told TB the separator was "/" but TB which hadn't been restarted still tried to use "." which then the server would notify as invalid (and causing the not so exact in this case "." in a mailboxname error message) ?
Can I revert to "." then or would I have to except the same "problem" (hot swap of the namespace separator) ?
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On Wed, Dec 22, 2010 at 10:03:00PM +0100, Thomas Hummel wrote:
So basically, I went from
1.2 with #separator =
-> can you confirm the the client should use "." then ?
to
2.8.0 with
namespace { type = private separator = "/"
and now back to
2.8.0 with
namespace { type = private separator = "."
And Thunderbird clients seem very confused about it :
For instance, rawlogs say :
# grep -i foobar *
20101223-133841-34429.out:* LSUB () "." "AA.BB.CC.foobar"
20101223-133841-34429.out:* LSUB () "." "AA.BB.MTA.foobar"
20101223-133841-34429.out:* LSUB () "." "AA.BB.MTA.foobar Curie"
20101223-135517-38267.out:* LSUB () "." "AA.BB.CC.foobar"
20101223-135517-38267.out:* LSUB () "." "AA.BB.MTA.foobar"
20101223-135517-38267.out:* LSUB () "." "AA.BB.MTA.foobar Curie"
20101223-135556-38406.in:5 select "AA/BB/CC/foobar"
20101223-135556-38406.out:5 NO Invalid mailbox name: AA/BB/CC/foobar
Restarting Thunderbird doesn't fix the problem for all mailboxes, it seems to fix one mailbox access at a time. Re-suscribing to the mailbox seems to work as well, but again one mailbox at a time.
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On Thu, Dec 23, 2010 at 02:19:22PM +0100, Thomas Hummel wrote:
Also, if we change the separator, do we have to change it on the subscription file ? Could it be the source of my problem ?
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
On Thu, 2010-12-23 at 16:32 +0100, Thomas Hummel wrote:
Also, if we change the separator, do we have to change it on the subscription file ? Could it be the source of my problem ?
No. TB just seems to break down if separator is changed. Recreating the account should be an easy solution.
On 2010-12-30 6:19 AM, Timo Sirainen wrote:
On Thu, 2010-12-23 at 16:32 +0100, Thomas Hummel wrote:
Also, if we change the separator, do we have to change it on the subscription file ? Could it be the source of my problem ?
No. TB just seems to break down if separator is changed. Recreating the account should be an easy solution.
If that is the case, Thomas, could you please file a bug for Thunderbird so it hopefully gets fixed?
Thanks,
--
Best regards,
Charles
On Thu, Dec 23, 2010 at 02:19:22PM +0100, Thomas Hummel wrote:
20101223-135556-38406.in:5 select "AA/BB/CC/foobar"
I forgot to mention that some of those mailboxes were not touched at all by the user during the period where dovecot was using "/". And now that dovecot is back to what it was (1.2.12 with #separator= ) they're as faulty as the mailboxes used during that period. So I don't understand why TB would try to use "/" on them.
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Pôle informatique - systèmes et réseau
participants (3)
-
Charles Marcus
-
Thomas Hummel
-
Timo Sirainen