diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2015-03-24 23:10:47 +0100 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2015-03-24 23:10:47 +0100 |
commit | 33c9f21171449ec9b4d7fcd32bb98d7ae7920b10 (patch) | |
tree | b290e491be5da520ad83d1643fa7420e196f77f2 | |
parent | Fix "IP address not available" error message (diff) |
Return error when incoming message is blocked
As per XEP-0016 and XEP-0191, return a service-unavailable error when an
incoming message was blocked by a privacy list. This lets the user
appear offline to the contact.
-rw-r--r-- | src/ejabberd_c2s.erl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 7632cb121..0e3f856ca 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1679,7 +1679,13 @@ handle_info({route, From, To, Packet, in) of allow -> {true, Attrs, StateData}; - deny -> {false, Attrs, StateData} + deny -> + Err = + jlib:make_error_reply(Packet, + ?ERR_SERVICE_UNAVAILABLE), + ejabberd_router:route(To, From, + Err), + {false, Attrs, StateData} end; _ -> {true, Attrs, StateData} end, |