mod_carboncopy: Omit check for undefined 'from'

These days, the 'from' of an outgoing #message is guaranteed to be set
to the sender's JID by xmpp_stream_in:process_authenticated_packet/2.
This commit is contained in:
Holger Weiss 2020-01-13 00:45:33 +01:00
parent 430b9bef38
commit ec035e3c41
1 changed files with 4 additions and 12 deletions

View File

@ -212,13 +212,13 @@ send_copies(JID, To, Msg, Direction)->
{_, _, Resource} = jid:tolower(Dest),
?DEBUG("Sending: ~p =/= ~p", [R, Resource]),
Sender = jid:make({U, S, <<>>}),
New = build_forward_packet(JID, Msg, Sender, Dest, Direction),
New = build_forward_packet(Msg, Sender, Dest, Direction),
ejabberd_router:route(xmpp:set_from_to(New, Sender, Dest))
end, TargetJIDs).
-spec build_forward_packet(jid(), message(), jid(), jid(), direction()) -> message().
build_forward_packet(JID, #message{type = T} = Msg, Sender, Dest, Direction) ->
Forwarded = #forwarded{sub_els = [complete_packet(JID, Msg, Direction)]},
-spec build_forward_packet(message(), jid(), jid(), direction()) -> message().
build_forward_packet(#message{type = T} = Msg, Sender, Dest, Direction) ->
Forwarded = #forwarded{sub_els = [Msg]},
Carbon = case Direction of
sent -> #carbons_sent{forwarded = Forwarded};
received -> #carbons_received{forwarded = Forwarded}
@ -249,14 +249,6 @@ disable(Host, U, R)->
Err
end.
-spec complete_packet(jid(), message(), direction()) -> message().
complete_packet(From, #message{from = undefined} = Msg, sent) ->
%% If this is a message sent by user on this host, then Msg doesn't
%% include the 'from' attribute. We must add it.
Msg#message{from = From};
complete_packet(_From, Msg, _Direction) ->
Msg.
-spec is_chat_message(message()) -> boolean().
is_chat_message(#message{type = chat}) ->
true;