[Kolab-devel] Cyrus ptloader and canonification ( '.' and '^' divider in addresses )
Cornelius Hald <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kolab,gmane.comp.kde.kolab.user |
|---|---|
| Message-ID | <[email protected]> |
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)([email protected])(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^[email protected])(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