Возможно проблемы в кодировке при обращении к LDAP

Здравствуйте.

Ejabberd развёрнут под Ubuntu Server. Ldap - AD Win2008Srv. Авторизация работает. Не могу разобраться с mod_shared_roster_ldap.

В AD есть группы jabber-it, jabber-sales, jabber-marketing и т.д. в которые добавлены пользователи. У групп есть кириллическое описание (поле description) aka название одела: IT отдел, Отдел продаж, Отдел маркетинга. Я хочу сделать общий список контактов, в который вывести все названия отделов на русском и в них всех сотрудников отделов (членов соответствующих групп). Пользователи разложены по различным OU в соответствии с отделами и географической принадлежностью.

По примеру Deep DIT http://ejabberd-msrl.alioth.debian.org/doc...srl.html#htoc18 я построил вот такой конфиг:

{mod_roster, []},

{mod_shared_roster_ldap, [
{ldap_servers, ["192.168.0.14"]},
{ldap_base, "dc=profit,dc=local"},
{ldap_rfilter, "(&(objectClass=group)(cn=jabber-*))"},
{ldap_filter, ""},
{ldap_gfilter, "(&(objectClass=group)(cn=jabber-*)(cn=%g))"},
{ldap_groupdesc, "description"},
{ldap_memberattr, "member"},
{ldap_ufilter, "(&(objectClass=user)(cn=%u))"},
{ldap_userdesc, "displayName"}
]},

Ростер не строится, но после включения mod_shared_roster_ldap появилась группа "Общие".

В логах ошибки:

=ERROR REPORT==== 2014-09-29 13:05:56 ===
E(<0.360.0>:eldap_utils:166) : failed to parse LDAP filter:
** Filter: []
** Reason: {error,["syntax error before: ",[]]}

Она уходит если убрать {ldap_filter, ""}.

В ответах от Ldap-сервера есть невонятные вещи, вот к примеру запрос пользователей группы jabber-1c:

=INFO REPORT==== 2014-09-29 13:05:59 ===
D(<0.365.0>:eldap:696) : {searchRequest,
{'SearchRequest',"dc=profit,dc=local",wholeSubtree,
neverDerefAliases,0,5,false,
{'and',
[{equalityMatch,
{'AttributeValueAssertion',"objectClass",
"group"}},
{substrings,
{'SubstringFilter',"cn",
{'SubstringFilter_substrings',
[{initial,"jabber-"}]}}},
{equalityMatch,
{'AttributeValueAssertion',"cn","jabber-1c"}}]},
["cn","description","member"]}}

=INFO REPORT==== 2014-09-29 13:05:59 ===
D(<0.365.0>:eldap:767) : {searchResEntry,
{'SearchResultEntry',
"CN=jabber-1c,OU=Jabber,OU=Groups,DC=profit,DC=local",
[{'PartialAttributeList_SEQOF',"cn",
["jabber-1c"]},
{'PartialAttributeList_SEQOF',
"description",
[[49,208,161,32,208,191,209,128,208,190,
208,179,209,128,208,176,208,188,208,
188,208,184,209,129,209,130,209,139]]},
{'PartialAttributeList_SEQOF',"member",
[[67,78,61,208,149,208,178,208,179,208,
181,208,189,208,184,208,185,32,208,
162,208,186,208,176,209,135,44,79,85,
61,49,67,44,79,85,61,80,114,111,102,
105,116,85,115,101,114,115,44,68,67,
61,112,114,111,102,105,116,44,68,67,
61,108,111,99,97,108]]}]}}

Если вместо description запросить другое поле, в латинице - оно придёт в читабельном виде.

Также в группах, в которых много пользователей массив

[67,78,61,208,149,208,178,208,179,208,
181,208,189,208,184,208,185,32,208,
162,208,186,208,176,209,135,44,79,85,
61,49,67,44,79,85,61,80,114,111,102,
105,116,85,115,101,114,115,44,68,67,
61,112,114,111,102,105,116,44,68,67,
61,108,111,99,97,108]

повторяется по колличеству пользователей.

Мне кажется что проблема или в кодировке или в самом модуле. Ни разу не отрицаю что я и сам мог накосячить.

Подскажите пожалуйста в чём может быть проблема.

Syndicate content