Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_local.erl')
-rw-r--r--src/ejabberd_local.erl14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl
index 6df88e3da..d4517f35b 100644
--- a/src/ejabberd_local.erl
+++ b/src/ejabberd_local.erl
@@ -84,11 +84,15 @@ do_route(State, From, To, Packet) ->
ok
end;
#jid{luser = ""} ->
- Err = jlib:make_error_reply(Packet, ?ERR_ITEM_NOT_FOUND),
- ejabberd_router ! {route,
- jlib:make_jid("", State#state.mydomain, ""),
- From,
- Err};
+ {xmlelement, _Name, Attrs, _Els} = Packet,
+ case xml:get_attr_s("type", Attrs) of
+ "error" -> ok;
+ "result" -> ok;
+ _ ->
+ Err = jlib:make_error_reply(Packet, ?ERR_ITEM_NOT_FOUND),
+ ejabberd_router:route(
+ jlib:make_jid("", State#state.mydomain, ""), From, Err)
+ end;
_ ->
ejabberd_sm ! {route, From, To, Packet}
end.