Fixed error replying on blocked messages
This commit is contained in:
parent
e8576c23c5
commit
fd54181435
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue