mod_shared_roster with mod_vcard_lap

Hello,

Im having an issue getting mod_vcard_ldap to work with mod_shared roster.

- latest debian
- latest ejabbered 14.07-4+deb8u3

following config:

host_config:
  "foo.xxxx.com":
    auth_method: ldap
    ldap_servers:
      - "ldap.xxxx.com"
    ldap_uids:
      - "uid"
    ldap_rootdn: "uid=root,ou=Internal,o=xxxx,c=AU"
    ldap_password: "pw"
    ldap_base: "o=xxxx,c=AU"


  mod_vcard_ldap:
    search: true
    matches: 10
    ldap_uids:
       - "uid"
    ldap_vcard_map:
      "NICKNAME": {"%u": []} # just use user's part of JID as his nickname
      "GIVEN": {"%s": ["givenName"]}
      "FAMILY": {"%s": ["sn"]}
      "FN": {"%s, %s": ["sn", "givenName"]} # example: "Smith, John"
      "TEL": {"%s": ["telephoneNumber"]}
      "ADDRESS": {"%s": ["postalAddress"]}
      "EMAIL": {"%s": ["mail"]}
    ldap_search_fields:
      "User": "%u"
      "Name": "givenName"
      "Phone number": "telephoneNumber"
      "Email": "mail"
    ldap_search_reported:
      "Full Name": "FN"
      "Email": "EMAIL"

When I first create a shared roster, it gets pushed to the clients. However, once I restart the jabber server, the shared roster is lost, and the log shows the following error:

2016-05-12 01:25:34.403 [error] <0.415.0>@ejabberd_hooks:run_fold1:356 {function_clause,[{mod_shared_roster,get_rosteritem_name,[[mod_vcard_ldap,mod_vcard],<<"ksiu">>,<<"foo.xxxx.com">>],[{file,"src/mod_shared_roster.erl"},{line,186}]},{mod_shared_roster,'-get_user_roster/2-lc$^0/1-0-',5,[{file,"src/mod_shared_roster.erl"},{line,175}]},{mod_shared_roster,get_user_roster,2,[{file,"src/mod_shared_roster.erl"},{line,173}]},{ejabberd_hooks,run_fold1,4,[{file,"src/ejabberd_hooks.erl"},{line,352}]},{mod_roster,process_iq_get,3,[{file,"src/mod_roster.erl"},{line,312}]},{gen_iq_handler,process_iq,6,[{file,"src/gen_iq_handler.erl"},{line,119}]},{gen_iq_handler,handle_info,2,[{file,"src/gen_iq_handler.erl"},{line,191}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,599}]}]}
running hook: {roster_get,[{<<"djasch">>,<<"foo.xxxx.com.au">>}]}

If I deactivate mod_vcard_ldap, the shared roster simply works

Would much appreciate any hints on this!

Thanks in advance.

Best regards,
Dennis

Do you have enabled mod_vcard

Do you have enabled mod_vcard and also mod_vcard_ldap in the configuration file? Enable only one.

@badlop My personal hero -

@badlop

My personal hero - thank you so much!

Syndicate content