I have ejabberd configured and working well with our LDAP server, including the using mod_shared_roster_ldap, with one exception.
The problem we're having is that when we add employees to the LDAP groups we use for the roster, ejabberd doesn't seem to notice the change until we restart it.
Our shared roster is determined by a filter similar to the following:
{ldap_rfilter, "(&(objectClass=apple-group)(|(cn=allemployees)(cn=jabberrosteradditions)))"}
The allemployees group contains all our full-time employees, and the jabberrosteradditions group lists temporary employees.
We believe the problem is with ejabberd, because we can login to the ejabberd server, and issue ldapsearch commands that show the updated members in the group. So the LDAP server seems to provide correct and up-to-date information. But a chat client connected to ejabberd will not see the updated roster. This is true with several different chat clients.
Does ejabberd cache the results of the group query?
If it does cache that information, is there a way to clear the cache without restarting the server?
Thanks for any help or information you can offer.
As E. Khramtsov told me,
As E. Khramtsov told me, mod_shared_roster_ldap catches responses. No idea about other ldap modules.
can you share how you
can you share how you configured ejabberd.cfg file and make ldap working?
Did you use ldapsearch and get result?