Merge 0.10->trunk
[prosody.git] / plugins / mod_pubsub / mod_pubsub.lua
index 81a66f8b6b8ed9dbb9fab5ad7798de7a164a37e5..33e729afb5c3c6af5e778242ff2bfe271de921ee 100644 (file)
@@ -86,12 +86,9 @@ end
 module:hook("host-disco-info-node", function (event)
        local stanza, origin, reply, node = event.stanza, event.origin, event.reply, event.node;
        local ok, ret = service:get_nodes(stanza.attr.from);
-       if ok and not ret[node] then
+       if not ok or not ret[node] then
                return;
        end
-       if not ok then
-               return origin.send(pubsub_error_reply(stanza, ret));
-       end
        event.exists = true;
        reply:tag("identity", { category = "pubsub", type = "leaf" });
 end);
@@ -100,10 +97,10 @@ module:hook("host-disco-items-node", function (event)
        local stanza, origin, reply, node = event.stanza, event.origin, event.reply, event.node;
        local ok, ret = service:get_items(node, stanza.attr.from);
        if not ok then
-               return origin.send(pubsub_error_reply(stanza, ret));
+               return;
        end
 
-       for id, item in pairs(ret) do
+       for _, id in ipairs(ret) do
                reply:tag("item", { jid = module.host, name = id }):up();
        end
        event.exists = true;
@@ -114,7 +111,7 @@ module:hook("host-disco-items", function (event)
        local stanza, origin, reply = event.stanza, event.origin, event.reply;
        local ok, ret = service:get_nodes(event.stanza.attr.from);
        if not ok then
-               return origin.send(pubsub_error_reply(event.stanza, ret));
+               return;
        end
        for node, node_obj in pairs(ret) do
                reply:tag("item", { jid = module.host, node = node, name = node_obj.config.name }):up();