Fixed error replying on blocked messages

This commit is contained in:
Alexey Shchepin 2015-04-20 17:01:56 +03:00
parent e8576c23c5
commit fd54181435
1 changed files with 21 additions and 15 deletions

View File

@ -1680,12 +1680,17 @@ handle_info({route, From, To,
of of
allow -> {true, Attrs, StateData}; allow -> {true, Attrs, StateData};
deny -> deny ->
Err = case xml:get_attr_s(<<"type">>, Attrs) of
jlib:make_error_reply(Packet, <<"error">> -> ok;
?ERR_SERVICE_UNAVAILABLE), <<"result">> -> ok;
ejabberd_router:route(To, From, _ ->
Err), Err =
{false, Attrs, StateData} jlib:make_error_reply(Packet,
?ERR_SERVICE_UNAVAILABLE),
ejabberd_router:route(To, From,
Err)
end,
{false, Attrs, StateData}
end; end;
_ -> {true, Attrs, StateData} _ -> {true, Attrs, StateData}
end, end,
@ -2171,15 +2176,16 @@ check_privacy_route(From, StateData, FromRoute, To,
case privacy_check_packet(StateData, From, To, Packet, case privacy_check_packet(StateData, From, To, Packet,
out) out)
of of
deny -> deny ->
Lang = StateData#state.lang, Lang = StateData#state.lang,
ErrText = <<"Your active privacy list has denied " ErrText = <<"Your active privacy list has denied "
"the routing of this stanza.">>, "the routing of this stanza.">>,
Err = jlib:make_error_reply(Packet, Err = jlib:make_error_reply(Packet,
?ERRT_NOT_ACCEPTABLE(Lang, ErrText)), ?ERRT_NOT_ACCEPTABLE(Lang, ErrText)),
ejabberd_router:route(To, From, Err), Err2 = jlib:replace_from_to(To, From, Err),
ok; send_element(StateData, Err2),
allow -> ejabberd_router:route(FromRoute, To, Packet) ok;
allow -> ejabberd_router:route(FromRoute, To, Packet)
end. end.
%% Check if privacy rules allow this delivery %% Check if privacy rules allow this delivery