aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/discomanager.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/discomanager.lua b/core/discomanager.lua
index 5f7b3c78..ce0010d8 100644
--- a/core/discomanager.lua
+++ b/core/discomanager.lua
@@ -5,6 +5,7 @@ local jid_split = require "util.jid".split;
local jid_bare = require "util.jid".bare;
local usermanager_user_exists = require "core.usermanager".user_exists;
local rostermanager_is_contact_subscribed = require "core.rostermanager".is_contact_subscribed;
+local print = print;
do
helper:addDiscoInfoHandler("*host", function(reply, to, from, node)
@@ -36,4 +37,16 @@ function addDiscoInfoHandler(jid, func)
return helper:addDiscoInfoHandler(jid, func);
end
+function set(plugin, var, origin)
+ -- TODO handle origin and host based on plugin.
+ local handler = function(reply, to, from, node) -- service discovery
+ if #node == 0 then
+ reply:tag("feature", {var = var}):up();
+ return true;
+ end
+ end
+ addDiscoInfoHandler("*node", handler);
+ addDiscoInfoHandler("*host", handler);
+end
+
return _M;