diff options
author | Badlop <badlop@process-one.net> | 2010-10-16 20:32:46 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2010-10-16 22:53:12 +0200 |
commit | 91cf9194d8fd22f65375249bfe1ec16c54089478 (patch) | |
tree | 8363c29a3593d94292e4a610fed13f87a2d272cf | |
parent | Check 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.erl | 4 |
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) |