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