diff options
author | Alexey Shchepin <alexey@process-one.net> | 2006-01-25 03:35:12 +0300 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2006-01-25 03:35:12 +0300 |
commit | efacb0ad66312eefeef6e46ba76fd2b8311655e2 (patch) | |
tree | 8d848c789d1294ca858589fd532f1f36ab331710 /src | |
parent | 976a61666294bcf793cc77fe96badb2a73305237 (diff) |
* src/ejabberd_c2s.erl: Remove top-level xmlns from incoming
stanzas
* src/ejabberd_s2s_in.erl: Likewise
* src/ejabberd_service.erl: Likewise
SVN Revision: 492
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_c2s.erl | 7 | ||||
-rw-r--r-- | src/ejabberd_s2s_in.erl | 9 | ||||
-rw-r--r-- | src/ejabberd_service.erl | 7 |
3 files changed, 14 insertions, 9 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index f1db47da6..44524547d 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -751,15 +751,16 @@ session_established({xmlstreamelement, El}, StateData) -> _ -> jlib:string_to_jid(To) end, + NewEl1 = jlib:remove_attr("xmlns", El), NewEl = case xml:get_attr_s("xml:lang", Attrs) of "" -> case StateData#state.lang of - "" -> El; + "" -> NewEl1; Lang -> - xml:replace_tag_attr("xml:lang", Lang, El) + xml:replace_tag_attr("xml:lang", Lang, NewEl1) end; _ -> - El + NewEl1 end, NewState = case ToJID of diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl index ed4a7af0f..1de51fdfa 100644 --- a/src/ejabberd_s2s_in.erl +++ b/src/ejabberd_s2s_in.erl @@ -346,7 +346,8 @@ stream_established({xmlstreamelement, El}, StateData) -> []}), {next_state, stream_established, StateData#state{timer = Timer}}; _ -> - {xmlelement, Name, Attrs, _Els} = El, + NewEl = jlib:remove_attr("xmlns", El), + {xmlelement, Name, Attrs, _Els} = NewEl, From_s = xml:get_attr_s("from", Attrs), From = jlib:string_to_jid(From_s), To_s = xml:get_attr_s("to", Attrs), @@ -366,7 +367,8 @@ stream_established({xmlstreamelement, El}, StateData) -> if ((Name == "iq") or (Name == "message") or (Name == "presence")) -> - ejabberd_router:route(From, To, El); + ejabberd_router:route( + From, To, NewEl); true -> error end; @@ -380,7 +382,8 @@ stream_established({xmlstreamelement, El}, StateData) -> if ((Name == "iq") or (Name == "message") or (Name == "presence")) -> - ejabberd_router:route(From, To, El); + ejabberd_router:route( + From, To, NewEl); true -> error end; diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl index 2a207b129..0d3b02176 100644 --- a/src/ejabberd_service.erl +++ b/src/ejabberd_service.erl @@ -198,7 +198,8 @@ wait_for_handshake(closed, StateData) -> stream_established({xmlstreamelement, El}, StateData) -> - {xmlelement, Name, Attrs, _Els} = El, + NewEl = jlib:remove_attr("xmlns", El), + {xmlelement, Name, Attrs, _Els} = NewEl, From = xml:get_attr_s("from", Attrs), FromJID1 = jlib:string_to_jid(From), FromJID = case FromJID1 of @@ -218,9 +219,9 @@ stream_established({xmlstreamelement, El}, StateData) -> (Name == "message") or (Name == "presence")) and (ToJID /= error) and (FromJID /= error) -> - ejabberd_router:route(FromJID, ToJID, El); + ejabberd_router:route(FromJID, ToJID, NewEl); true -> - Err = jlib:make_error_reply(El, ?ERR_BAD_REQUEST), + Err = jlib:make_error_reply(NewEl, ?ERR_BAD_REQUEST), send_element(StateData, Err), error end, |