I've been trying to setup vcards on ejabberd and can't seem to get the configuration syntax right. Here is what i have so far:
{host_config, "domain.com", [{
{{add, modules}, [
{mod_vcard_ldap, [
%% We use the same server and port, but want to bind anonymously because
%% our LDAP server accepts anonymous requests to
%% "ou=AddressBook,dc=example,dc=org" subtree.
{ldap_uids, [{"mail", "%u@domain1"}]},
{ldap_filter, ""},
%% Now we want to define vCard pattern
{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"
{"EMAIL", "%s", ["mail"]},
{"PHOTO", "%s", ["jpegPhoto"]},
{"BDAY", "%s", ["birthDay"]}]},
%% Search form
{ldap_search_fields,
[{"User", "%u"},
{"Name", "givenName"},
{"Family Name", "sn"},
{"Email", "mail"},
{"Birthday", "birthDay"}]},
%% vCard fields to be reported
%% Note that JID is always returned with search results
{ldap_search_reported,
[{"Full Name", "FN"},
{"Nickname", "NICKNAME"},
{"Birthday", "BDAY"}]}
%% end of mod_vcard_ldap
]},
]}]}.
This is the error i'm seeing in the logs:
=INFO REPORT==== 2009-08-31 08:32:33 ===
application: ejabberd
exited: {bad_return,{{ejabberd_app,start,[normal,[]]},
{'EXIT',"/etc/ejabberd/ejabberd.cfg approximately in the line 542: syntax error before: ']'"}}}
type: temporary
Any help would be appreciated.
After a lot of looking around
After a lot of looking around i finally came up with these settings and they seem to work because in the log i can see it doing an LDAP lookup on the user and finding all the data but when it goes to display the vcard it seems like it's not matching up the fields.
{mod_vcard_ldap,
[
{ldap_uids, [{"uid","%u"}]},
{ldap_vcard_map,
[
{"NICKNAME", "%s", ["displayName"]},
{"GIVEN", "%s", ["givenName"]},
{"MIDDLE", "%s", ["initials"]},
{"FAMILY", "%s", ["sn"]},
{"FN", "%s", ["displayName"]},
{"EMAIL", "%s", ["mail"]}
]},
{ldap_search_fields,
[
{"User", "uid"},
{"Name", "displayName"},
{"Family Name", "sn"},
{"Email", "mail"},
{"Company", "company"},
{"Department", "department"},
{"Role", "title"},
{"Description", "description"},
{"Phone", "telephoneNumber"}]},
{ldap_search_reported,
[
{"Full Name", "FN"},
{"Nickname", "NICKNAME"},
{"Email", "EMAIL"}
]}
]},
----------------------
This is the debug log:
=INFO REPORT==== 2009-08-31 12:28:06 ===
D(<0.384.0>:eldap:636) : {searchRequest,
{'SearchRequest',"dc=domain,dc=com",wholeSubtree,
neverDerefAliases,0,0,false,
{equalityMatch,
{'AttributeValueAssertion',"uid","steve.tribe"}},
["displayName","givenName","initials","mail","sn",
"uid"]}}
=INFO REPORT==== 2009-08-31 12:28:07 ===
D(<0.384.0>:eldap:697) : {searchResRef,
["ldaps://ForestDnsZones.caltrol.com/DC=ForestDnsZones,DC=domain,DC=com"]}
=INFO REPORT==== 2009-08-31 12:28:07 ===
D(<0.384.0>:eldap:697) : {searchResRef,
["ldaps://DomainDnsZones.caltrol.com/DC=DomainDnsZones,DC=domain,DC=com"]}
=INFO REPORT==== 2009-08-31 12:28:07 ===
D(<0.384.0>:eldap:697) : {searchResRef,
["ldaps://caltrol.com/CN=Configuration,DC=domain,DC=com"]}
=INFO REPORT==== 2009-08-31 12:28:07 ===
D(<0.384.0>:eldap:697) : {searchResDone,
{'LDAPResult',success,[],[],asn1_NOVALUE}}
------------
Any ideas on what's going on?
P.S. Why on earth are there weeks without someone posting something? Is this not the right forums?