[Kolab-devel] Cyrus ptloader and canonification ( '.' and '^' divider in addresses )
Cornelius Hald
hald at icandy.de
Wed Feb 11 20:02:52 CET 2015
Hi guys!
Yesterday I've tried again to hunt down my mysterious crashes in
ptloader. Therefore I've forked the cyrus package on OBS and added a lot
of debug output to ptclient/ldap.c. In particular to ptsmodule_get_dn()
because that is where the crash occurs.
I'm still not sure what causes the crash, but found something else I
can't really explain. So I'm hoping someone here could point me in the
right direction.
It looks like ptsmodule_get_dn() tries to find the DN for a given user
(or email address, or alias, etc.)
Usually the generated LDAP filter looks like this:
(|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=peter.weber))(&(|(uid=peter.weber)(mail=peter.weber at example.com)(mail=peter.weber@))(objectclass=kolabinetorgperson)))
And returns a DN like that:
uid=weber,ou=People,dc=example,dc=com
So far so good. But sometimes I see queries for the same user but with
'^' instead of '.' as divider between first name and last name.
Like this:
(|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=peter^weber))(&(|(uid=peter^weber)(mail=peter^weber at example.com)(mail=peter^weber@))(objectclass=kolabinetorgperson)))
Those queries do not return a valid DN but PTSM_FAIL.
So my question is: Why are the requests sometimes in one format and
sometimes in a different format. And is that intentional.
Thanks!
Conny
More information about the devel
mailing list