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.
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