25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-12-24 17:29:28 +01:00

Merge pull request #149 from iulianlaz/carboncopy-fix-msg-back-to-original-sender

#148 Carbon copy sends message back to original sender solved
This commit is contained in:
badlop 2014-03-16 20:59:49 +01:00
commit 2b527f5e9a

View File

@ -151,7 +151,19 @@ check_and_forward(JID, #xmlel{name = <<"message">>, attrs = Attrs} = Packet, Dir
false ->
case xml:get_subtag(Packet,<<"received">>) of
false ->
send_copies(JID, Packet, Direction);
%% We must check if a packet contains "<sent><forwarded></sent></forwarded>" tags in order to avoid
%% receiving message back to original sender.
SubTag = xml:get_subtag(Packet,<<"sent">>),
if SubTag == false ->
send_copies(JID, Packet, Direction);
true ->
case xml:get_subtag(SubTag,<<"forwarded">>) of
false->
send_copies(JID, Packet, Direction);
_ ->
stop
end
end;
_ ->
%% stop the hook chain, we don't want mod_logdb to register this message (duplicate)
stop