diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2013-06-14 20:05:06 +0200 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2013-06-17 16:09:54 +0300 |
commit | 7865c6a146e24255f14590eb6e18bde80e40d134 (patch) | |
tree | 7d7f66a2b5171c1cecb631de4ca1862b22c85869 /src | |
parent | Improve "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.erl | 6 | ||||
-rw-r--r-- | src/mod_register.erl | 10 |
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} -> |