diff options
Diffstat (limited to 'src/ejabberd_local.erl')
-rw-r--r-- | src/ejabberd_local.erl | 14 |
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. |