aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2011-08-08 18:23:53 +0200
committerKim Alvefur <zash@zash.se>2011-08-08 18:23:53 +0200
commitd29b8f340a4c795dd40a856f208d0d22017b328b (patch)
tree5a748fe8764bdd39f8bfdc2bec7685202ea60c65 /plugins
parent43ea7d28756d860df2762f3db7984fe1fd28a68b (diff)
downloadprosody-d29b8f340a4c795dd40a856f208d0d22017b328b.tar.gz
prosody-d29b8f340a4c795dd40a856f208d0d22017b328b.zip
core.modulemanager, mod_disco: Add support for XEP-0128: Service Discovery Extensions
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mod_disco.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/plugins/mod_disco.lua b/plugins/mod_disco.lua
index 907ca753..c3a9c54d 100644
--- a/plugins/mod_disco.lua
+++ b/plugins/mod_disco.lua
@@ -54,6 +54,12 @@ local function build_server_disco_info()
done[feature] = true;
end
end
+ for _,extension in ipairs(module:get_host_items("extension")) do
+ if not done[extension] then
+ query:add_child(extension);
+ done[extension] = true;
+ end
+ end
_cached_server_disco_info = query;
_cached_server_caps_hash = calculate_hash(query);
_cached_server_caps_feature = st.stanza("c", {
@@ -81,8 +87,10 @@ end
module:hook("item-added/identity", clear_disco_cache);
module:hook("item-added/feature", clear_disco_cache);
+module:hook("item-added/extension", clear_disco_cache);
module:hook("item-removed/identity", clear_disco_cache);
module:hook("item-removed/feature", clear_disco_cache);
+module:hook("item-removed/extension", clear_disco_cache);
-- Handle disco requests to the server
module:hook("iq/host/http://jabber.org/protocol/disco#info:query", function(event)