I had 2.0.5 working with mod_shared_roster_ldap (the version from 2005-04-14). However, I am having trouble with 2.1.6. I have tried too many different permutations of ldap_memberattr_format, ldap_ufilter, etc, to list - but analyzing the logs in both versions seems to indicate that the problem is with AttributeValueAssertion. It is only asking for uid (even though wholeSubtree is set), and the only way to change the list of attributes is to edit the ldap_uids setting (with other disastrous consequences). None of the other settings let me override ldap_uids. On the old version, the last argument is empty, and the server sends back the whole subtree.
What do I have to do to make ejabberd send the correct request to LDAP?
Look at these two examples:
From 2.1.6:
=INFO REPORT==== 2011-01-28 13:59:12 ===
D(<0.197.0>:eldap:675) : {searchRequest,
{'SearchRequest',"ou=People,dc=tpsit,dc=com",
wholeSubtree,neverDerefAliases,0,0,false,
{equalityMatch,
{'AttributeValueAssertion',"uid","marklehrer"}},
["uid"]}}
=INFO REPORT==== 2011-01-28 13:59:12 ===
D(<0.197.0>:eldap:746) : {searchResEntry,
{'SearchResultEntry',
"uid=marklehrer,ou=People,dc=tpsit,dc=com",
[{'PartialAttributeList_SEQOF',"uid",
["marklehrer"]}]}}
However, from 2.0.5:
=INFO REPORT==== 2011-01-30 04:48:11 ===
D(<0.263.0>:eldap:629) : {searchRequest,
{'SearchRequest',"ou=People,dc=tpsit,dc=com",
wholeSubtree,neverDerefAliases,0,0,false,
{equalityMatch,
{'AttributeValueAssertion',"uid","marklehrer"}},
[]}}
=INFO REPORT==== 2011-01-30 04:48:11 ===
D(<0.263.0>:eldap:690) : {searchResEntry,
{'SearchResultEntry',
"uid=marklehrer,ou=People,dc=tpsit,dc=com",
[{'PartialAttributeList_SEQOF',
"objectClass",
["inetOrgPerson","posixAccount",
"radiusprofile","top",
"organizationalPerson","person",
"sambaSamAccount"]},
{'PartialAttributeList_SEQOF',"mail",
["mark@tpsit.com"]},
{'PartialAttributeList_SEQOF',"uid",
["marklehrer"]},
{'PartialAttributeList_SEQOF',"sn",
["Lehrer"]},
{'PartialAttributeList_SEQOF',"cn",
["Mark Lehrer"]},
{'PartialAttributeList_SEQOF',"givenName",
["Mark"]}]}}
Thanks,
Mark