summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--src/ejabberd_sm.erl12
2 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 410f9d21..c4fd84ad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-10-28 Alexey Shchepin <alexey@sevcom.net>
+
+ * src/ejabberd_sm.erl: Bugfix
+
2003-10-27 Alexey Shchepin <alexey@sevcom.net>
* src/ejabberd_auth.erl: Minor change in check_password/4
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl
index 32c333b9..9494fa12 100644
--- a/src/ejabberd_sm.erl
+++ b/src/ejabberd_sm.erl
@@ -264,9 +264,15 @@ do_route(From, To, Packet) ->
"message" ->
route_message(From, To, Packet);
"iq" ->
- Err = jlib:make_error_reply(
- Packet, ?ERR_RECIPIENT_UNAVAILABLE),
- ejabberd_router:route(To, From, Err);
+ case xml:get_attr_s("type", Attrs) of
+ "error" -> ok;
+ "result" -> ok;
+ _ ->
+ Err =
+ jlib:make_error_reply(
+ Packet, ?ERR_RECIPIENT_UNAVAILABLE),
+ ejabberd_router:route(To, From, Err)
+ end;
_ ->
?DEBUG("packet droped~n", [])
end;