mod_message_log: Ignore "empty" carbon copies

Just as we ignore regular messages that don't include a non-empty
<body/>, we now ignore carbon copies of such messages.
This commit is contained in:
Holger Weiss 2014-11-06 00:56:55 +01:00
parent 8b3a3b47a4
commit 0dfb0b9c6b
1 changed files with 11 additions and 10 deletions

View File

@ -110,21 +110,22 @@ is_carbon(Packet) ->
{Direction, SubTag} = case {xml:get_subtag(Packet, <<"sent">>),
xml:get_subtag(Packet, <<"received">>)} of
{false, false} ->
{none, none};
{false, false};
{false, Tag} ->
{incoming, Tag};
{Tag, _} ->
{outgoing, Tag}
end,
if SubTag =:= none ->
false;
true ->
case xml:get_subtag(SubTag, <<"forwarded">>) of
false ->
false;
_ ->
{true, Direction}
end
F = fun(_, false) ->
false;
(Name, Tag) ->
xml:get_subtag(Tag, Name)
end,
case lists:foldl(F, SubTag, [<<"forwarded">>, <<"message">>, <<"body">>]) of
#xmlel{children = Body} when length(Body) > 0 ->
{true, Direction};
_ ->
false
end.
loop(Config) ->