projects
/
prosody.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
be73591
)
MUC: Be more careful with deserialization of rooms, fix case where a bare jid has...
author
Kim Alvefur
<zash@zash.se>
Wed, 27 Apr 2016 16:55:49 +0000
(18:55 +0200)
committer
Kim Alvefur
<zash@zash.se>
Wed, 27 Apr 2016 16:55:49 +0000
(18:55 +0200)
plugins/muc/muc.lib.lua
patch
|
blob
|
history
diff --git
a/plugins/muc/muc.lib.lua
b/plugins/muc/muc.lib.lua
index 14aad42c329d7cca1db896c92924f26d85af56f9..ce6c57840819c30010c87ccc5c18323e2064bcb1 100644
(file)
--- a/
plugins/muc/muc.lib.lua
+++ b/
plugins/muc/muc.lib.lua
@@
-1283,10
+1283,10
@@
function _M.restore_room(frozen)
for jid, data in pairs(frozen) do
local node, host, resource = jid_split(jid);
if node or host:sub(1,1) ~= "_" then
for jid, data in pairs(frozen) do
local node, host, resource = jid_split(jid);
if node or host:sub(1,1) ~= "_" then
- if not resource then
+ if not resource
and type(data) == "string"
then
-- bare jid: affiliation
room._affiliations[jid] = data;
-- bare jid: affiliation
room._affiliations[jid] = data;
- elseif host == room_host and node == room_name then
+ elseif host == room_host and node == room_name
and resource
then
-- full room jid: bare real jid and role
local bare_jid = data.bare_jid;
local occupant = occupant_lib.new(bare_jid, jid);
-- full room jid: bare real jid and role
local bare_jid = data.bare_jid;
local occupant = occupant_lib.new(bare_jid, jid);