From: Holger Weiss Date: Sun, 24 Apr 2016 23:13:41 +0000 (+0200) Subject: Process messages of unknown type consistently X-Git-Tag: 16.06~104^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=45321fa2e26123f39d9230efaf225d8523dad7cd;p=ejabberd Process messages of unknown type consistently If an incoming message sent to an unavailable resource has an unknown type, handle it like messages of type "normal" (as mandated by RFC 6121, section 5.2.2). The same is already done for messages of unknown type sent to the bare JID of an offline user. --- diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index 9a93e6d97..1fb26a6a9 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -518,16 +518,16 @@ do_route(From, To, #xmlel{} = Packet) -> <<"message">> -> case fxml:get_attr_s(<<"type">>, Attrs) of <<"chat">> -> route_message(From, To, Packet, chat); - <<"normal">> -> route_message(From, To, Packet, normal); - <<"">> -> route_message(From, To, Packet, normal); <<"headline">> -> ok; <<"error">> -> ok; - _ -> + <<"groupchat">> -> ErrTxt = <<"User session not found">>, Err = jlib:make_error_reply( Packet, ?ERRT_SERVICE_UNAVAILABLE(Lang, ErrTxt)), - ejabberd_router:route(To, From, Err) + ejabberd_router:route(To, From, Err); + _ -> + route_message(From, To, Packet, normal) end; <<"iq">> -> case fxml:get_attr_s(<<"type">>, Attrs) of