Есть в локалке джаббер-сервер ejabber1.1.2 (linux). Пользователей он берет с OpenLDAP
Есть клиенты (psi (win+*nix), jajc).
Необходимо чтобы каждому подключаемому подключаемому юзеру давался контакт-лист со всеми пользователями существующими на сервере.
Чем и как можно реализовать?
p.s. порывшись нашел mod_shared_roster_ldap.erl что с ним делать далее мыслей нет..
Shared roster LDAP
смотри здесь
http://www.ejabberd.im/node/1213
но, у меня получилось увидеть контакты только из своей группы
Сырой еще этот модуль
если без групп, то можно через стандартный mod_shared_roster.erl (не ldap) завести группу EveryBody и добавить туда мемберами @all@
подробнее тут http://www.ejabberd.im/shared-roster-all
Замечательно, а
Замечательно, а как из этих всех удалить несколько ненужных (root, nobody и прочих попавших с ldapа), можно какое нибудь исключение прописать?
Заведи группу Jabber Users
Замечательно, а как из этих всех удалить несколько ненужных (root, nobody и прочих попавших с ldapа), можно какое нибудь исключение прописать?
в ejabberd.cfg :
{ldap_filter, "(memberOf=CN=Jabber Users,CN=Users,DC=company,DC=com)"}
заведи группу Jabber Users и включи в нее кого надо
проще
проще так..
{ldap_filter,"(&(objectClass=sambaSAMAccount)(!(cn=nobody))(!(cn=root)))"}.
Модуль канешно
Модуль канешно замечательный... mod_shared_roster.erl.diff
А такой вопрос - а если я жаббер сервак не компилил а просто с инсталлера развернул??
%%% 1. Copy mod_shared_roster.erl.diff to your ejabberd/src
%%% 2. Apply the patch with: patch -p0
и заодно по
и заодно по спискам управления доступом просветить можешь?
на паре тройке примеров.
как вариант
как вариант можно попытаться попробовать это:
http://www.ejabberd.im/node/1099#comment-2350
но там придётся править код, и вообще это довольно грубый патч.
Я его пробовал только с eJabberd 1.1.1 и AD
Но он умеет раскидывать юзеров по группам, чего мне так не хватает в mod_shared_roster_ldap.erl