From 1ffa9a0cf5b595ed44bc3d9aa282b6ba4d7c9891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= Date: Wed, 25 Mar 2020 16:00:16 +0100 Subject: [PATCH] Do not change to attribute of sent messages from bare to full jid This is not correct per xmpp spec --- src/ejabberd_c2s.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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.