Unable to retrieve vcard information in ejabberd 2.1.4 if mod_vcard_ldap is used and user has jpegPhoto attribute in the LDAP
fragment of my configuration file:
{mod_vcard_ldap,[
{ldap_rootdn, ""},
{ldap_password, ""},
{ldap_base, "dc=st"},
{ldap_uidattr, "uid"},
{ldap_uidattr_format, "%u"},
{ldap_vcard_map,
[{"NICKNAME", "%s %s", ["sn", "givenName"]},
{"FN", "%s", ["cn"]},
{"GIVEN", "%s", ["givenName"]},
{"FAMILY", "%s", ["sn"]},
{"EMAIL", "%s", ["mail"]},
{"ORGUNIT", "%s", ["ou"]},
{"ROLE", "%s", ["title"]},
{"TEL", "%s", ["telephoneNumber"]},
{"BDAY", "%s", ["birthDay"]},
{"PHOTO", "%s", ["jpegPhoto"]}
]},
%% Search form
{ldap_search_fields,
[{"User", "%u"},
{"Name", "givenName"},
{"Family Name", "sn"},
{"Organization Unit", "ou"}]},
%% vCard fields to be reported
%% Note that JID is always returned with search results
{ldap_search_reported,
[{"Full Name", "FN"},
{"Nickname", "NICKNAME"},
{"Organization Unit", "ORGUNIT"},
{"Birthday", "BDAY"}]}]},In XML Console of PSI jabber client I can see following
[request]
<iq type="get" to="user1@myjabberhost" id="aacba" >
<query xmlns="jabber:iq:last"/>
</iq>
<iq type="get" to="user1@myjabberhost" id="aacca" >
<vCard xmlns="vcard-temp" version="2.0" prodid="-//HandGen//NONSGML vGen v1.0//EN" />
</iq>[response]
<iq from="user1@myjabberhost" type="error" to="user2@myjabberhost/Psi" id="aacba" >
<query xmlns="jabber:iq:last"/>
<error type="cancel" code="405" >
<not-allowed xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>
<iq from="user1@myjabberhost" type="error" to="user2@myjabberhost/Psi" id="aacca" >
<vCard xmlns="vcard-temp" version="2.0" prodid="-//HandGen//NONSGML vGen v1.0//EN" />
<error type="wait" code="500" >
<internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>Everything is fine in ejabberd version 2.1.3
For reference: problem also
For reference: problem also reported in
Do you have any related error text in ejabberd.log or erlang.log?
fragment of my ejabberd.log
fragment of my ejabberd.log in debug mode:
=INFO REPORT==== 2010-06-18 08:58:00 === D(<0.352.0>:eldap:675) : {searchRequest, {'SearchRequest',"dc=st",wholeSubtree, neverDerefAliases,0,0,false, {'and', [{equalityMatch, {'AttributeValueAssertion',"uid","user1"}}, {present,"mail"}]}, ["birthDay","cn","givenName","jpegPhoto","mail", "ou","sn","telephoneNumber","title","uid"]}} =INFO REPORT==== 2010-06-18 08:58:00 === D(<0.352.0>:eldap:746) : {searchResEntry, {'SearchResultEntry', a lot of information including jpegPhoto }} =INFO REPORT==== 2010-06-18 08:58:01 === D(<0.352.0>:eldap:746) : {searchResDone, {'LDAPResult',success,[],[],asn1_NOVALUE}} =INFO REPORT==== 2010-06-18 08:58:01 === D(<0.362.0>:ejabberd_router:313) : route from {jid,"user1","myjabberhost",[],"user1","myjabberhost",[]} to {jid,"user2","myjabberhost","Psi","user2", "myjabberhost","Psi"} packet {xmlelement,"iq", [{"id","aacda"},{"type","error"}], [{xmlelement,"vCard", [{"xmlns","vcard-temp"}, {"version","2.0"}, {"prodid","-//HandGen//NONSGML vGen v1.0//EN"}], []}, {xmlelement,"error", [{"code","500"},{"type","wait"}], [{xmlelement,"internal-server-error", [{"xmlns","urn:ietf:params:xml:ns:xmpp-stanzas"}], []}]}]}Same happens to us. Upgrading
Same happens to us. Upgrading to Debian ejabberd_2.1.5-2~bpo50+1_i386 helped.