25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-22 16:20:52 +01:00

Don't send XEP-0280 v1 copies back to sender

An earlier version of XEP-0280 specified the <received/> and <sent/>
tags to be siblings of the <forwarded/> element, whereas the current
version mandates them to be parents of <forwarded/>.  The mod_carboncopy
module supports both variants.  However, the check that makes sure
clients won't receive a copy of the messages they sent didn't work for
the old-style schema.  This is now fixed.
This commit is contained in:
Holger Weiss 2014-05-30 23:32:18 +02:00
parent 2cd17c7988
commit ad2d3964ef

View File

@ -153,9 +153,14 @@ check_and_forward(JID, To, #xmlel{name = <<"message">>, attrs = Attrs} = Packet,
if SubTag == false ->
send_copies(JID, To, Packet, Direction);
true ->
case xml:get_subtag(SubTag,<<"forwarded">>) of
case xml:get_subtag(Packet,<<"forwarded">>) of
false->
send_copies(JID, To, Packet, Direction);
case xml:get_subtag(SubTag,<<"forwarded">>) of
false ->
send_copies(JID, To, Packet, Direction);
_ ->
stop
end;
_ ->
stop
end