[Kolab-devel] Bug in LDAP.pm?

Tobias Koenig tokoe at kde.org
Fri Jun 9 12:56:34 CEST 2006


I've a question concerning LDAP.pm from the perl-kolab package.

We discovered that some mailboxes of shared folders which are not in
LDAP any longer but still exists in the cyrus IMAP server were not
deleted by kolabd on the inital sync.

After adding some debug messages I found the following line

  $u =~ /user[\/\.]([^\/]*)\/?.*/;

which seems to be responsible to select a subset of mailboxes which
are written to the graveyard database later.

I see two problems with this regexp:

1) The shared folders have 'shared' as prefix, so the regexp should
start with '/(shared|user) ...'

2) If you have a shared folder '/shared/test/testme' the extracted
mailbox name will be 'test' instead of 'test/testme'

Another problem is that the code which shall remove all stale mailboxes
from the IMAP store uses 'deleteMailbox( name, 0 )' which results
in a 'DELETE user/name' call. For shared folders
'deleteMailbox( name, 1 )' should be used, however at this point of code
where this method is called there is no way to find out whether the
passed name is a user mailbox or shared folder mailbox.

All these issues will result in the bug that stale shared folders
won't be deleted and will stay on the system forever...

Could some core-developer comment on this, please?

Separate politics from religion and economy!
The Council of the European Union is an undemocratic and illegal institution!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.kolab.org/pipermail/devel/attachments/20060609/43d2dc49/attachment.sig>

More information about the devel mailing list