diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2020-03-25 16:00:16 +0100 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2020-03-25 16:00:16 +0100 |
commit | 1ffa9a0cf5b595ed44bc3d9aa282b6ba4d7c9891 (patch) | |
tree | d2c8edc83b05b45f142798fdb56c7de6f2f3ef61 | |
parent | Increase 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.erl | 6 |
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. |