From 33c9f21171449ec9b4d7fcd32bb98d7ae7920b10 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Tue, 24 Mar 2015 23:10:47 +0100 Subject: 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. --- src/ejabberd_c2s.erl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') 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, -- cgit v1.2.3