diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2016-05-06 14:59:21 +0300 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2016-05-06 14:59:21 +0300 |
commit | 51238bff833299bae7c40e0ac744b5f50f81092b (patch) | |
tree | c0e8142c8113d18bc69580be56c6899d077f9c52 /src/ejabberd_local.erl | |
parent | 86d5cf6d6cd11fb744b0a26634f4de7c48f67af0 (diff) |
Bounce messages sent to server JID
If a message is sent to the server JID (without node part), generate an
error message rather than dropping the message silently.
Diffstat (limited to 'src/ejabberd_local.erl')
-rw-r--r-- | src/ejabberd_local.erl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl index 5566073e9..2ba943693 100644 --- a/src/ejabberd_local.erl +++ b/src/ejabberd_local.erl @@ -271,7 +271,16 @@ do_route(From, To, Packet) -> #xmlel{name = Name} = Packet, case Name of <<"iq">> -> process_iq(From, To, Packet); - <<"message">> -> ok; + <<"message">> -> + #xmlel{attrs = Attrs} = Packet, + case fxml:get_attr_s(<<"type">>, Attrs) of + <<"headline">> -> ok; + <<"error">> -> ok; + _ -> + Err = jlib:make_error_reply(Packet, + ?ERR_SERVICE_UNAVAILABLE), + ejabberd_router:route(To, From, Err) + end; <<"presence">> -> ok; _ -> ok end; |