On 08/06/2010 09:04 PM, Timo Sirainen wrote:
> On Fri, 2010-08-06 at 20:41 +0200, SK wrote:
>   
>> Ok, now it does not crash anymore,  But...: I cannot see shared folders
>> for users containing a dot (e.g. the "shared.user" above)
>> on open-exchange webclient. If I disable the listscape plugin, the
>> folder is visible. Something more is still broken. Any idea where to look ?
>>     
> I'm not sure if this is fixable. I'll look into it later..
>
>   
Well, that would be an essential showstopper for the migration from
scalix to dovecot in our setup.
But I don't believe it is unfixable. I did some tcpdump logging in the
meantime, The open-xchange client
seems to rely heavily on the LSUB command which is different from e.g.
thunderbird which seems to use mostly LIST.

It appears that the dovecot replies for LSUB commands with '%' wildcard
are different when listescape is enabled.
Please have a look at the attached comparison. At least for the public
folders it is pretty clear (even when not using dots there) and
subfolders in public area are broken as well. I cannot find the clear
difference for the shared folder case though, but more info comes later
on... the public folder bug might be the key...
1. NO listescape plugin, works correctly

Public folders:

. lsub "" "Public/*"
* LSUB () "/" "Public/"
* LSUB () "/" "Public/aa"
* LSUB () "/" "Public/psc"
* LSUB () "/" "Public/psc/aaa"
* LSUB () "/" "Public/psc/bbb"
* LSUB () "/" "Public/public"
* LSUB () "/" "Public/public/ccc"
. OK Lsub completed.

. lsub "" "Public/%"
* LSUB () "/" "Public/"
* LSUB () "/" "Public/aa"
* LSUB () "/" "Public/psc"
* LSUB () "/" "Public/public"
. OK Lsub completed.

. list "" "Public/*"
* LIST (\HasChildren) "/" "Public/psc"
* LIST (\HasNoChildren) "/" "Public/psc/aaa"
* LIST (\HasNoChildren) "/" "Public/psc/bbb"
* LIST (\HasChildren) "/" "Public/public"
* LIST (\HasNoChildren) "/" "Public/public/ccc"
. OK List completed.

. list "" "Public/%"
* LIST (\HasChildren) "/" "Public/psc"
* LIST (\HasChildren) "/" "Public/public"
. OK List completed.

Shared folders:

. lsub "" "Shared/*"
* LSUB () "/" "Shared/dot.user/dot_shared"
* LSUB () "/" "Shared/dot.user/"
* LSUB () "/" "Shared/"
* LSUB () "/" "Shared/ixogux/ixshare"
. OK Lsub completed.

. lsub "" "Shared/%"
* LSUB (\Noselect) "/" "Shared/dot.user"
* LSUB () "/" "Shared/"
* LSUB (\Noselect) "/" "Shared/ixogux"
. OK Lsub completed.


. list "" "Shared/*"
* LIST (\Noselect \HasChildren) "/" "Shared/ixogux"
* LIST (\Noselect \HasChildren) "/" "Shared/dot.user"
* LIST (\HasNoChildren) "/" "Shared/ixogux/ixshare"
* LIST (\HasChildren) "/" "Shared/dot.user/dot_shared"
* LIST (\HasNoChildren) "/" "Shared/dot.user/dot_shared/folder1"
. OK List completed.

. list "" "Shared/%"
* LIST (\Noselect \HasChildren) "/" "Shared/ixogux"
* LIST (\Noselect \HasChildren) "/" "Shared/dot.user"
. OK List completed.


2. with listescape plugin ENABLED

Public folders:

. lsub "" "Public/*"
* LSUB () "/" "Public/"
* LSUB () "/" "Public/aa"
* LSUB () "/" "Public/psc"
* LSUB () "/" "Public/public"
* LSUB () "/" "Public/psc/aaa"
* LSUB () "/" "Public/psc/bbb"
* LSUB () "/" "Public/public/ccc"
. OK Lsub completed.

>>> BAD RESPONSE <<<
. lsub "" "Public/%"
* LSUB () "/" "Public/"
* LSUB () "/" "Public/aa"
* LSUB () "/" "Public/psc"
* LSUB () "/" "Public/public"
* LSUB () "/" "Public/psc/aaa" <<<== HUH ?
* LSUB () "/" "Public/psc/bbb" <<<== HUH ?
* LSUB () "/" "Public/public/ccc" <<<== HUH ?
. OK Lsub completed.

. list "" "Public/*"
* LIST (\HasChildren) "/" "Public/psc"
* LIST (\HasNoChildren) "/" "Public/psc/aaa"
* LIST (\HasNoChildren) "/" "Public/psc/bbb"
* LIST (\HasChildren) "/" "Public/public"
* LIST (\HasNoChildren) "/" "Public/public/ccc"
. OK List completed.

. list "" "Public/%"
* LIST (\HasChildren) "/" "Public/psc"
* LIST (\HasChildren) "/" "Public/public"
. OK List completed.

Shared folders:

. lsub "" "Shared/*"
* LSUB () "/" "Shared/dot.user/dot_shared"
* LSUB () "/" "Shared/dot.user/"
* LSUB () "/" "Shared/"
* LSUB () "/" "Shared/ixogux/ixshare"
. OK Lsub completed.

. lsub "" "Shared/%"
* LSUB (\Noselect) "/" "Shared/dot.shared"
* LSUB () "/" "Shared/"
* LSUB (\Noselect) "/" "Shared/ixogux"
. OK Lsub completed.


. list "" "Shared/*"
* LIST (\Noselect \HasChildren) "/" "Shared/ixogux"
* LIST (\Noselect \HasChildren) "/" "Shared/dot.user"
* LIST (\HasNoChildren) "/" "Shared/ixogux/ixshare"
* LIST (\HasNoChildren) "/" "Shared/dot.user/dot_shared"
. OK List completed.

. list "" "Shared/%"
* LIST (\Noselect \HasChildren) "/" "Shared/ixogux"
* LIST (\Noselect \HasChildren) "/" "Shared/dot.user"
. OK List completed.



Reply via email to