aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Chmielowski <pchmielowski@process-one.net>2020-03-25 16:00:16 +0100
committerPaweł Chmielowski <pchmielowski@process-one.net>2020-03-25 16:00:16 +0100
commit1ffa9a0cf5b595ed44bc3d9aa282b6ba4d7c9891 (patch)
treed2c8edc83b05b45f142798fdb56c7de6f2f3ef61
parentIncrease version to 20.3.0 (diff)
Do not change to attribute of sent messages from bare to full jid
This is not correct per xmpp spec
-rw-r--r--src/ejabberd_c2s.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 80dd0eabb..8f069bcbe 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -937,7 +937,11 @@ fix_from_to(Pkt, #{jid := JID}) when ?is_stanza(Pkt) ->
{U, S, _} -> jid:replace_resource(JID, From#jid.resource);
_ -> From
end,
- xmpp:set_from_to(Pkt, From1, JID)
+ To1 = case xmpp:get_to(Pkt) of
+ #jid{lresource = <<>>} = To2 -> To2;
+ _ -> JID
+ end,
+ xmpp:set_from_to(Pkt, From1, To1)
end;
fix_from_to(Pkt, _State) ->
Pkt.