aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2010-10-16 20:32:46 +0200
committerBadlop <badlop@process-one.net>2010-10-16 22:53:12 +0200
commit91cf9194d8fd22f65375249bfe1ec16c54089478 (patch)
tree8363c29a3593d94292e4a610fed13f87a2d272cf
parentCheck privacy of outgoing IQ stanzas (EJAB-1320) (diff)
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
-rw-r--r--src/ejabberd_c2s.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 9da849c43..260a89ad1 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -1803,6 +1803,10 @@ 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 = jlib:make_error_reply(Packet, ?ERRT_NOT_ACCEPTABLE(Lang, ErrText)),
+ ejabberd_router:route(To, From, Err),
ok;
allow ->
ejabberd_router:route(FromRoute, To, Packet)