]> granicus.if.org Git - ejabberd/commitdiff
* src/mod_muc/mod_muc_room.erl: Bugfix
authorAlexey Shchepin <alexey@process-one.net>
Mon, 10 Nov 2003 14:32:19 +0000 (14:32 +0000)
committerAlexey Shchepin <alexey@process-one.net>
Mon, 10 Nov 2003 14:32:19 +0000 (14:32 +0000)
* src/ejabberd_sm.erl (route_message): Bugfix

SVN Revision: 172

ChangeLog
src/ejabberd_sm.erl
src/mod_muc/mod_muc_room.erl

index 6bea4e05172e07bc24e929e201567534d0e0de63..5713ce7b4766bb7d3b02659886166c490dc95f06 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-11-10  Alexey Shchepin  <alexey@sevcom.net>
+
+       * src/mod_muc/mod_muc_room.erl: Bugfix
+
+       * src/ejabberd_sm.erl (route_message): Bugfix
+
 2003-11-09  Alexey Shchepin  <alexey@sevcom.net>
 
        * src/ejabberd_sm.erl: Bugfix for previous resource handling
index 333cda2db050264ec416d87ea35fccad4df7aea6..e58562e8542704ac512f7dc05fe0d46f8c95bdd9 100644 (file)
@@ -300,13 +300,19 @@ route_message(From, To, Packet) ->
        {'EXIT', _} ->
            case ejabberd_auth:is_user_exists(LUser) of
                true ->
-                   case catch mod_offline:store_packet(From, To, Packet) of
-                       {'EXIT', _} ->
-                           Err = jlib:make_error_reply(
-                                   Packet, ?ERR_SERVICE_UNAVAILABLE),
-                           ejabberd_router:route(To, From, Err);
+                   case xml:get_tag_attr_s("type", Packet) of
+                       "error" ->
+                           ok;
                        _ ->
-                           ok
+                           case catch mod_offline:store_packet(
+                                        From, To, Packet) of
+                               {'EXIT', _} ->
+                                   Err = jlib:make_error_reply(
+                                           Packet, ?ERR_SERVICE_UNAVAILABLE),
+                                   ejabberd_router:route(To, From, Err);
+                               _ ->
+                                   ok
+                           end
                    end;
                _ ->
                    Err = jlib:make_error_reply(
index e381a544d0e919a8d24e69104ec2796cfd66d09b..71c1a44172a42e975e66b01fa0ad65b81c7137f4 100644 (file)
@@ -256,9 +256,14 @@ normal_state({route, From, "",
                    {next_state, normal_state, StateData}
            end;
        _ ->
-           Err = jlib:make_error_reply(
-                   Packet, ?ERR_NOT_ALLOWED),
-           ejabberd_router:route(StateData#state.jid, From, Err),
+           case xml:get_attr_s("type", Attrs) of
+               "error" ->
+                   ok;
+               _ ->
+                   Err = jlib:make_error_reply(
+                           Packet, ?ERR_NOT_ALLOWED),
+                   ejabberd_router:route(StateData#state.jid, From, Err)
+           end,
            {next_state, normal_state, StateData}
     end;