Mercurial > prosody-hg
comparison plugins/muc/muc.lib.lua @ 9530:3bc5c22e2ca4
MUC: Use the bare JID when performing a lookup for COMPAT with clients that don't set it (fixes #1224)
The full JID is never meant to be the target of affiliation changes.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sun, 21 Oct 2018 16:04:54 +0100 |
| parents | 7c1cdf5f9f83 |
| children | f2d70dc13700 |
comparison
equal
deleted
inserted
replaced
| 9529:6a1e7723208b | 9530:3bc5c22e2ca4 |
|---|---|
| 920 end | 920 end |
| 921 end | 921 end |
| 922 if not item.attr.jid and item.attr.nick then | 922 if not item.attr.jid and item.attr.nick then |
| 923 -- COMPAT Workaround for Miranda sending 'nick' instead of 'jid' when changing affiliation | 923 -- COMPAT Workaround for Miranda sending 'nick' instead of 'jid' when changing affiliation |
| 924 local occupant = self:get_occupant_by_nick(self.jid.."/"..item.attr.nick); | 924 local occupant = self:get_occupant_by_nick(self.jid.."/"..item.attr.nick); |
| 925 if occupant then item.attr.jid = occupant.jid; end | 925 if occupant then item.attr.jid = occupant.bare_jid; end |
| 926 elseif item.attr.role and not item.attr.nick and item.attr.jid then | 926 elseif item.attr.role and not item.attr.nick and item.attr.jid then |
| 927 -- Role changes should use nick, but we have a JID so pull the nick from that | 927 -- Role changes should use nick, but we have a JID so pull the nick from that |
| 928 local nick = self:get_occupant_jid(item.attr.jid); | 928 local nick = self:get_occupant_jid(item.attr.jid); |
| 929 if nick then item.attr.nick = jid_resource(nick); end | 929 if nick then item.attr.nick = jid_resource(nick); end |
| 930 end | 930 end |
