aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2013-06-14 20:05:06 +0200
committerAlexey Shchepin <alexey@process-one.net>2013-06-17 16:09:54 +0300
commit7865c6a146e24255f14590eb6e18bde80e40d134 (patch)
tree7d7f66a2b5171c1cecb631de4ca1862b22c85869 /src
parentImprove "unregister" test case (diff)
Don't include sub-elements in IQ results where it's not required
by the corresponding spec (RFC or XEP).
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_c2s.erl6
-rw-r--r--src/mod_register.erl10
2 files changed, 8 insertions, 8 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index ad6b1b55c..0fff3490e 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -539,8 +539,8 @@ wait_for_auth({xmlstreamelement, El}, StateData) ->
StateData#state.socket),
Info = [{ip, StateData#state.ip}, {conn, Conn},
{auth_module, AuthModule}],
- Res1 = jlib:make_result_iq_reply(El),
- Res = Res1#xmlel{children = []},
+ Res = jlib:make_result_iq_reply(
+ El#xmlel{children = []}),
send_element(StateData, Res),
ejabberd_sm:open_session(SID, U, StateData#state.server, R, Info),
change_shaper(StateData, JID),
@@ -976,7 +976,7 @@ wait_for_session({xmlstreamelement, El}, StateData) ->
?INFO_MSG("(~w) Opened session for ~s",
[StateData#state.socket,
jlib:jid_to_string(JID)]),
- Res = jlib:make_result_iq_reply(El),
+ Res = jlib:make_result_iq_reply(El#xmlel{children = []}),
send_element(StateData, Res),
change_shaper(StateData, JID),
{Fs, Ts} = ejabberd_hooks:run_fold(
diff --git a/src/mod_register.erl b/src/mod_register.erl
index 024acc1b6..2b4e53de6 100644
--- a/src/mod_register.erl
+++ b/src/mod_register.erl
@@ -123,14 +123,14 @@ process_iq(From, To,
case From of
#jid{user = User, lserver = Server} ->
ejabberd_auth:remove_user(User, Server),
- IQ#iq{type = result, sub_el = [SubEl]};
+ IQ#iq{type = result, sub_el = []};
_ ->
if PTag /= false ->
Password = xml:get_tag_cdata(PTag),
case ejabberd_auth:remove_user(User, Server,
Password)
of
- ok -> IQ#iq{type = result, sub_el = [SubEl]};
+ ok -> IQ#iq{type = result, sub_el = []};
%% TODO FIXME: This piece of
%% code does not work since
%% the code have been changed
@@ -160,7 +160,7 @@ process_iq(From, To,
#jid{user = User, lserver = Server,
resource = Resource} ->
ResIQ = #iq{type = result, xmlns = ?NS_REGISTER,
- id = ID, sub_el = [SubEl]},
+ id = ID, sub_el = []},
ejabberd_router:route(jlib:make_jid(User, Server,
Resource),
jlib:make_jid(User, Server,
@@ -326,7 +326,7 @@ try_register_or_set_password(User, Server, Password,
allow ->
case try_register(User, Server, Password, Source, Lang)
of
- ok -> IQ#iq{type = result, sub_el = [SubEl]};
+ ok -> IQ#iq{type = result, sub_el = []};
{error, Error} ->
IQ#iq{type = error, sub_el = [SubEl, Error]}
end;
@@ -344,7 +344,7 @@ try_set_password(User, Server, Password, IQ, SubEl,
true ->
case ejabberd_auth:set_password(User, Server, Password)
of
- ok -> IQ#iq{type = result, sub_el = [SubEl]};
+ ok -> IQ#iq{type = result, sub_el = []};
{error, empty_password} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_BAD_REQUEST]};
{error, not_allowed} ->