From 94cdcd7b34ccc83acfb32be09016cb7859d20916 Mon Sep 17 00:00:00 2001 From: Gu Feng Date: Sat, 25 Oct 2014 00:55:49 +0800 Subject: [PATCH] Return an empty element in an IQ-result when no vCard exists. According to XEP-0054, if no vCard exists, the server MUST return a stanza error (which SHOULD be ) or an IQ-result containing an empty element. Signed-off-by: Gu Feng --- src/mod_vcard.erl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl index 0451a5193..8afac260b 100644 --- a/src/mod_vcard.erl +++ b/src/mod_vcard.erl @@ -186,6 +186,11 @@ process_sm_iq(From, To, error -> IQ#iq{type = error, sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]}; + [] -> + IQ#iq{type = result, + sub_el = [#xmlel{name = <<"vCard">>, + attrs = [{<<"xmlns">>, ?NS_VCARD}], + children = []}]}; Els -> IQ#iq{type = result, sub_el = Els} end end.