From 17b4aaa1f73d5a9bca9d094bd61c49847a724c63 Mon Sep 17 00:00:00 2001 From: Badlop Date: Sat, 16 Oct 2010 22:45:38 +0200 Subject: [PATCH] When privacy list denies local user's outgoing stanza, try to return error (EJAB-1320) See: http://xmpp.org/extensions/xep-0016.html#example-51 Example 51. Error: contact is blocked --- src/ejabberd_c2s.erl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 4a78ebdc1..f2372cbe8 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1828,6 +1828,12 @@ check_privacy_route(From, StateData, FromRoute, To, Packet) -> {From, To, Packet}, out]) of deny -> + Lang = StateData#state.lang, + ErrText = "Routing of this stanza was denied by your active privacy list", + Err = exmpp_stanza:reply_with_error(Packet, + exmpp_stanza:error(Packet#xmlel.ns, 'not-acceptable', + {Lang, ErrText})), + send_element(StateData, Err), ok; allow -> ejabberd_router:route(FromRoute, To, Packet)