aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/mod_pubsub/mod_pubsub.lua1
-rw-r--r--plugins/mod_pubsub/pubsub.lib.lua8
2 files changed, 9 insertions, 0 deletions
diff --git a/plugins/mod_pubsub/mod_pubsub.lua b/plugins/mod_pubsub/mod_pubsub.lua
index 1364bd27..0ffa7981 100644
--- a/plugins/mod_pubsub/mod_pubsub.lua
+++ b/plugins/mod_pubsub/mod_pubsub.lua
@@ -65,6 +65,7 @@ local feature_map = {
add_subscription = { "subscribe" };
get_subscriptions = { "retrieve-subscriptions" };
set_configure = { "config-node" };
+ get_default = { "retrieve-default" };
};
local function add_disco_features_from_service(service)
diff --git a/plugins/mod_pubsub/pubsub.lib.lua b/plugins/mod_pubsub/pubsub.lib.lua
index 075182a2..8a22fa69 100644
--- a/plugins/mod_pubsub/pubsub.lib.lua
+++ b/plugins/mod_pubsub/pubsub.lib.lua
@@ -271,4 +271,12 @@ function handlers.set_configure(origin, stanza, config, service)
return origin.send(st.reply(stanza));
end
+function handlers.get_default(origin, stanza, default, service)
+ local reply = st.reply(stanza)
+ :tag("pubsub", { xmlns = xmlns_pubsub_owner })
+ :tag("configure", { node = node })
+ :add_child(form:form(service.node_default_config));
+ return origin.send(reply);
+end
+
return _M;