Назад | Перейти на главную страницу

ejabberd uniquemember mod_shared_roster_ldap

У меня есть эта конфигурация в ejabberd для общего списка с использованием сервера LDAP:

mod_shared_roster_ldap:
    #use_cache: true
    ldap_base: "o=Applications,o=gobiernodecanarias,c=es"
    ldap_filter: "(cn=*)"
    ldap_rfilter: "(&(objectClass=groupOfUniqueNames)(cn=CC-IM*))"
    ldap_gfilter: "(&(objectClass=groupOfUniqueNames)(cn=%g))"
    #ldap_ufilter: "(&(objectClass=inetOrgPerson)(uid=%u))"
    ldap_useruid: uid
    ldap_userdesc: displayName
    ldap_memberattr: uniqueMember
    ldap_memberattr_format: "%u"
    ldap_groupattr: cn

Мой сервер LDAP - ds389, и мы используем groupOfUniqueNames для групп.

У тестовой группы есть следующие атрибуты:

dn: cn=group1,o=jabber,o=domain,c=net
cn: GROUP1
uniqueMember: uid=user1,o=otherdomain,c=net

Когда я подключаю своего тестового пользователя (user1), я вижу это в журналах LDAP:

В логах сервера вижу такое:

[07/Nov/2019:12:04:08.778513089 +0000] conn=262835 op=2 SRCH base="o=jabber,o=domain,c=net" scope=2 filter="(&(&(objectClass=groupOfUniqueNames)(cn=GROUP1))(cn=*))" attrs="cn cn uniqueMember"
[07/Nov/2019:12:04:08.779258128 +0000] conn=262835 op=2 RESULT err=0 tag=101 nentries=1 etime=0.0000895559
[07/Nov/2019:12:04:08.780265986 +0000] conn=262871 fd=148 slot=148 connection from xx.xxx.xxx.xx to xx.xxx.xxx.xxx
[07/Nov/2019:12:04:08.780444959 +0000] conn=262838 op=2 SRCH base="o=otherdomain,c=net" scope=2 filter="**(&(uid=uid=user1,o=otherdomain,c=net)(uid=*))"** attrs="uid"

Проблема в том, что используется (& (uid = uid = user1, o = otherdomain, c = net) (uid =)) вместо (& (uid = user1) (uid =)), поэтому он не может найти пользователей группы.

Есть ли способ передать только часть uid?

заранее спасибо