From e494fc201fa003eedcacdb8f172177247216b1cb Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sat, 18 Jan 2014 20:14:05 +0100 Subject: MUC: Fire muc-room-destroyed event when the last participant leaves a non-persistent room --- plugins/muc/mod_muc.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/muc/mod_muc.lua b/plugins/muc/mod_muc.lua index edebf070..6e86ab73 100644 --- a/plugins/muc/mod_muc.lua +++ b/plugins/muc/mod_muc.lua @@ -163,6 +163,7 @@ function stanza_handler(event) if room then room:handle_stanza(origin, stanza); if not next(room._occupants) and not persistent_rooms[room.jid] then -- empty, non-persistent room + module:fire_event("muc-room-destroyed", { room = room }); rooms[bare] = nil; -- discard room end else -- cgit v1.2.3 From 796429efbeba7521ad6f47ca40274f5555777294 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Sat, 18 Jan 2014 17:24:10 -0500 Subject: =?UTF-8?q?tools/ejabberd2prosody:=20=E2=80=9Cxmlelement=E2=80=9D?= =?UTF-8?q?=20can=20be=20=E2=80=9Cxmlel=E2=80=9D=20in=20newer=20ejabberd?= =?UTF-8?q?=20(thanks=20cr).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/ejabberd2prosody.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/ejabberd2prosody.lua b/tools/ejabberd2prosody.lua index a8bfad0e..8312ebd1 100755 --- a/tools/ejabberd2prosody.lua +++ b/tools/ejabberd2prosody.lua @@ -30,7 +30,7 @@ dm.set_data_path("data"); function build_stanza(tuple, stanza) assert(type(tuple) == "table", "XML node is of unexpected type: "..type(tuple)); - if tuple[1] == "xmlelement" then + if tuple[1] == "xmlelement" or tuple[1] == "xmlel" then assert(type(tuple[2]) == "string", "element name has type: "..type(tuple[2])); assert(type(tuple[3]) == "table", "element attribute array has type: "..type(tuple[3])); assert(type(tuple[4]) == "table", "element children array has type: "..type(tuple[4])); -- cgit v1.2.3 From 611b2eb4ed27c21f06dda681e63b4cf680cb1a98 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Sat, 18 Jan 2014 17:26:02 -0500 Subject: tools/ejabberd2prosody: Disable generating a config, as the format it generates is completely out of date. --- tools/ejabberd2prosody.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/ejabberd2prosody.lua b/tools/ejabberd2prosody.lua index 8312ebd1..bc916fb8 100755 --- a/tools/ejabberd2prosody.lua +++ b/tools/ejabberd2prosody.lua @@ -247,7 +247,7 @@ local filters = { end muc_room(tuple[2][1], tuple[2][2], properties); end; - config = function(tuple) + --[=[config = function(tuple) if tuple[2] == "hosts" then local output = io.output(); io.output("prosody.cfg.lua"); io.write("-- Configuration imported from ejabberd --\n"); @@ -275,7 +275,7 @@ local filters = { io.output(output); print("prosody.cfg.lua created"); end - end; + end;]=] }; local arg = ...; -- cgit v1.2.3 From 372c2b460a00506bd779c8081dc3774b6e81d93b Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Tue, 21 Jan 2014 00:51:31 +0100 Subject: mod_storage_sql2: Fix another SQL syntax error that slipped trough --- plugins/mod_storage_sql2.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/mod_storage_sql2.lua b/plugins/mod_storage_sql2.lua index b9e9d3ca..e02ad681 100644 --- a/plugins/mod_storage_sql2.lua +++ b/plugins/mod_storage_sql2.lua @@ -224,7 +224,7 @@ function archive_store:append(username, key, when, with, value) return engine:transaction(function() local key = key or uuid.generate(); local t, value = serialize(value); - engine:delete("DELETE FROM `prosodyarchive` WHERE `host`=? AND `user`=? AND `store`=? AND KEY=?", host, user or "", store, key); + engine:delete("DELETE FROM `prosodyarchive` WHERE `host`=? AND `user`=? AND `store`=? AND `key`=?", host, user or "", store, key); engine:insert("INSERT INTO `prosodyarchive` (`host`, `user`, `store`, `when`, `with`, `key`, `type`, `value`) VALUES (?,?,?,?,?,?,?,?)", host, user or "", store, when, with, key, t, value); return key; end); -- cgit v1.2.3 From 9550295c9d54f962435836dffc708bba67feaad5 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Tue, 21 Jan 2014 01:51:13 +0100 Subject: mod_storage_sql2: Only attempt to delete conflicting items if an ID/key is given --- plugins/mod_storage_sql2.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/mod_storage_sql2.lua b/plugins/mod_storage_sql2.lua index e02ad681..90e9ead0 100644 --- a/plugins/mod_storage_sql2.lua +++ b/plugins/mod_storage_sql2.lua @@ -222,9 +222,12 @@ function archive_store:append(username, key, when, with, value) end local user,store = username,self.store; return engine:transaction(function() - local key = key or uuid.generate(); + if key then + engine:delete("DELETE FROM `prosodyarchive` WHERE `host`=? AND `user`=? AND `store`=? AND `key`=?", host, user or "", store, key); + else + key = uuid.generate(); + end local t, value = serialize(value); - engine:delete("DELETE FROM `prosodyarchive` WHERE `host`=? AND `user`=? AND `store`=? AND `key`=?", host, user or "", store, key); engine:insert("INSERT INTO `prosodyarchive` (`host`, `user`, `store`, `when`, `with`, `key`, `type`, `value`) VALUES (?,?,?,?,?,?,?,?)", host, user or "", store, when, with, key, t, value); return key; end); -- cgit v1.2.3