Merge with 0.5
authorMatthew Wild <mwild1@gmail.com>
Wed, 29 Jul 2009 17:11:37 +0000 (18:11 +0100)
committerMatthew Wild <mwild1@gmail.com>
Wed, 29 Jul 2009 17:11:37 +0000 (18:11 +0100)
plugins/mod_pep.lua
prosody
util/muc.lua

index 8cc4aedfb6004a5c85417802c8608273b8a2fc8a..768d4a4a68b60db5fb45fe8c91ec38ac52a4a6da 100644 (file)
@@ -30,6 +30,7 @@ module:add_feature("http://jabber.org/protocol/pubsub#publish");
 
 local function publish(session, node, item)
        local disable = #item.tags ~= 1 or #item.tags[1].tags == 0;
+       if #item.tags == 0 then item.name = "retract"; end
        local bare = session.username..'@'..session.host;
        local stanza = st.message({from=bare, type='headline'})
                :tag('event', {xmlns='http://jabber.org/protocol/pubsub#event'})
@@ -128,7 +129,7 @@ module:hook("iq/bare/http://jabber.org/protocol/pubsub:pubsub", function(event)
                local payload = stanza.tags[1];
                if payload.name == 'pubsub' then -- <pubsub xmlns='http://jabber.org/protocol/pubsub'>
                        payload = payload.tags[1];
-                       if payload and payload.name == 'publish' and payload.attr.node then -- <publish node='http://jabber.org/protocol/tune'>
+                       if payload and (payload.name == 'publish' or payload.name == 'retract') and payload.attr.node then -- <publish node='http://jabber.org/protocol/tune'>
                                local node = payload.attr.node;
                                payload = payload.tags[1];
                                if payload then -- <item>
diff --git a/prosody b/prosody
index e9f00598875278829e720cc1b79f6e23b5fccc0e..0618a1f3d3b52aa15750ba134edf08c4178b1fee 100755 (executable)
--- a/prosody
+++ b/prosody
@@ -9,9 +9,9 @@
 
 -- Will be modified by configure script if run --
 
-CFG_SOURCEDIR=nil;
+CFG_SOURCEDIR=os.getenv("PROSODY_SRCDIR");
 CFG_CONFIGDIR=os.getenv("PROSODY_CFGDIR");
-CFG_PLUGINDIR=nil;
+CFG_PLUGINDIR=os.getenv("PROSODY_PLUGINDIR");
 CFG_DATADIR=os.getenv("PROSODY_DATADIR");
 
 -- -- -- -- -- -- -- ---- -- -- -- -- -- -- -- --
index b3673f63d653936cbadf7fd752f6be3dc61977b7..badcffcedf0f3701b5c933b7fc3cfdd4250755e1 100644 (file)
@@ -209,7 +209,7 @@ local function room_handle_to_occupant(self, origin, stanza) -- PM, vCards, etc
                                        else -- change nick
                                                if self._participants[to] then
                                                        log("debug", "%s couldn't change nick", current_nick);
-                                                       origin.send(st.error_reply(stanza, "cancel", "conflict"));
+                                                       origin.send(st.error_reply(stanza, "cancel", "conflict"):tag("x", {xmlns = "http://jabber.org/protocol/muc"}));
                                                else
                                                        local data = self._participants[current_nick];
                                                        local to_nick = select(3, jid_split(to));
@@ -240,7 +240,7 @@ local function room_handle_to_occupant(self, origin, stanza) -- PM, vCards, etc
                                end
                                if not new_nick then
                                        log("debug", "%s couldn't join due to nick conflict: %s", from, to);
-                                       origin.send(st.error_reply(stanza, "cancel", "conflict"));
+                                       origin.send(st.error_reply(stanza, "cancel", "conflict"):tag("x", {xmlns = "http://jabber.org/protocol/muc"}));
                                else
                                        log("debug", "%s joining as %s", from, to);
                                        local data;