aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2020-01-13 00:45:33 +0100
committerHolger Weiss <holger@zedat.fu-berlin.de>2020-01-13 00:45:33 +0100
commitec035e3c4107712707fc536357e2f49dc8919cf6 (patch)
treeb04ad2a5960dfb3bbfb33f6fc74ea2e82a28baad
parentmod_carboncopy: Don't process non-message stanzas (diff)
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.
-rw-r--r--src/mod_carboncopy.erl16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/mod_carboncopy.erl b/src/mod_carboncopy.erl
index 86ac802bb..afc58e5a1 100644
--- a/src/mod_carboncopy.erl
+++ b/src/mod_carboncopy.erl
@@ -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;