Merge 0.10->trunk
[prosody.git] / plugins / mod_pep_plus.lua
index 81dd3085216dea781533f61af6f5795109eadd23..f45d5ef3d7772b988bb487d97cf85aabf0703608 100644 (file)
@@ -55,10 +55,11 @@ local function get_broadcaster(name)
 end
 
 function get_pep_service(name)
-       if services[name] then
-               return services[name];
+       local service = services[name];
+       if service then
+               return service;
        end
-       services[name] = pubsub.new({
+       service = pubsub.new({
                capabilities = {
                        none = {
                                create = false;
@@ -132,6 +133,7 @@ function get_pep_service(name)
                                retract = true;
                                delete = true;
                                get_nodes = true;
+                               configure = true;
 
                                subscribe = true;
                                unsubscribe = true;
@@ -152,6 +154,10 @@ function get_pep_service(name)
                        };
                };
 
+               node_defaults = {
+                       ["pubsub#max_items"] = "1";
+               };
+
                autocreate_on_publish = true;
                autocreate_on_subscribe = true;
 
@@ -166,7 +172,9 @@ function get_pep_service(name)
 
                normalize_jid = jid_bare;
        });
-       return services[name];
+       services[name] = service;
+       module:add_item("pep-service", { service = service, jid = name });
+       return service;
 end
 
 function handle_pubsub_iq(event)