Hi.
Download and install ejabberd 14.05 in my Ubuntu 14.04 x86.
I am use LDAP authentication and vCard (Microsoft AD 2003) in ejabberd. Work fine. But search users in LDAP not working.
=CRASH REPORT==== 21-May-2014::13:47:27 ===
crasher:
initial call: eldap:init/1
pid: <0.390.0>
registered_name: 'eldap_#Ref<0.0.0.11185>'
exception exit: {{badmatch,
{error,
{asn1,
{function_clause,
[{'ELDAPv3',
enc_SubstringFilter_substrings_components,
[{'SubstringFilter_substrings',[{any,<<"test">>}]},
[],0],
[{file,"src/ELDAPv3.erl"},{line,1768}]},
{'ELDAPv3',enc_SubstringFilter_substrings,2,
[{file,"src/ELDAPv3.erl"},{line,1765}]},
{'ELDAPv3',enc_SubstringFilter,2,
[{file,"src/ELDAPv3.erl"},{line,1753}]},
{'ELDAPv3',enc_Filter,2,
[{file,"src/ELDAPv3.erl"},{line,1604}]},
{'ELDAPv3',enc_Filter_and_components,3,
[{file,"src/ELDAPv3.erl"},{line,1636}]},
{'ELDAPv3',enc_Filter_and,2,
[{file,"src/ELDAPv3.erl"},{line,1629}]},
{'ELDAPv3',enc_Filter,2,
[{file,"src/ELDAPv3.erl"},{line,1596}]},
{'ELDAPv3',enc_SearchRequest,2,
[{file,"src/ELDAPv3.erl"},{line,1511}]}]}}}},
[{eldap,send_command,3,
[{file,"src/eldap.erl"},{line,831}]},
{eldap,process_command,3,
[{file,"src/eldap.erl"},{line,813}]},
{gen_fsm,handle_msg,7,[{file,"gen_fsm.erl"},{line,505}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,239}]}]}
in function gen_fsm:terminate/7 (gen_fsm.erl, line 622)
ancestors: ['ejabberd_mod_vcard_ldap_mydomain.ru',ejabberd_sup,<0.38.0>]
messages: []
links: [<0.386.0>]
dictionary: []
trap_exit: false
status: running
heap_size: 1598
stack_size: 27
reductions: 1741
neighbours:
neighbour: [{pid,<0.391.0>},
{registered_name,'eldap_#Ref<0.0.0.11197>'},
{initial_call,{eldap,init,['Argument__1']}},
{current_function,{gen_fsm,loop,7}},
{ancestors,['ejabberd_mod_vcard_ldap_mydomain.ru',
ejabberd_sup,<0.38.0>]},
{messages,[]},
{links,[<0.386.0>]},
{dictionary,[]},
{trap_exit,false},
{status,waiting},
{heap_size,2586},
{stack_size,10},
{reductions,4622}]
neighbour: [{pid,<0.386.0>},
{registered_name,'ejabberd_mod_vcard_ldap_mydomain.ru'},
{initial_call,{mod_vcard_ldap,init,['Argument__1']}},
{current_function,{gen_server,loop,6}},
{ancestors,[ejabberd_sup,<0.38.0>]},
{messages,[]},
{links,[<0.390.0>,<0.391.0>,<0.296.0>]},
{dictionary,[]},
{trap_exit,false},
{status,waiting},
{heap_size,987},
{stack_size,9},
{reductions,1250}]My config about LDAP:
{host_config, "mydomain.ru", [{auth_method, ldap},
{ldap_servers, ["dc.mydomain.local"]},
{ldap_encrypt, tls},
{ldap_tls_verify, soft},
{ldap_tls_cacertfile, "/opt/ejabberd/conf/mydomain.ru_ssl/mydomain-ca.pem"},
{ldap_rootdn, "CN=LDAP_user,OU=Services,DC=mydomain,DC=local"},
{ldap_password, "*****"},
{ldap_base, "DC=mydomain,DC=local"},
{ldap_uids, [{"sAMAccountName"}]}
]}.
{host_config, "mydomain.ru", [
{{add, modules}, [
{mod_vcard_ldap, [
{host, "search.@HOST@"},
{ldap_vcard_map, [
{"NICKNAME", "%u", []},
{"GIVEN", "%s", ["givenName"]},
{"MIDDLE", "%s", ["initials"]},
{"FAMILY", "%s", ["sn"]},
{"FN", "%s", ["displayName"]},
{"EMAIL", "%s", ["mail"]},
{"ORGNAME", "%s", ["company"]},
{"ORGUNIT", "%s", ["department"]},
{"TITLE", "%s", ["title"]},
{"DESC", "%s", ["description"]},
{"TEL", "%s", ["telephoneNumber"]}
]},
{ldap_search_fields, [
{"User", "userPrincipalName"},
{"Givenname", "givenName"},
{"Family Name", "sn"},
{"Email", "mail"}
]},
{ldap_search_reported, [
{"Full Name", "FN"},
{"Nickname", "NICKNAME"},
{"Email", "EMAIL"}
]}
]}
]}
]}.
This config working width ejabberd 2.1.10 from Ubuntu reps.
P.S. Yes I know {add, modules} is deprecated, but I really do not know how to properly use append_host_config in my config (not YAML).
P.P.S I just installed ejabberd 2.1.13 and it works fine.