hostmanager, mod_disco: Show optional 'name' option from the config in disco#items queries (fixes use-case in #292) (thanks diSabler, mva)
authorMatthew Wild <mwild1@gmail.com>
Sun, 05 Aug 2012 17:18:35 +0100
changeset 5081 c0c060e450be
parent 5077 6c2c8bf36d22
child 5082 1ffc788c5696
hostmanager, mod_disco: Show optional 'name' option from the config in disco#items queries (fixes use-case in #292) (thanks diSabler, mva)
core/hostmanager.lua
plugins/mod_disco.lua
--- a/core/hostmanager.lua	Fri Aug 03 14:07:41 2012 +0100
+++ b/core/hostmanager.lua	Sun Aug 05 17:18:35 2012 +0100
@@ -84,7 +84,7 @@
 	end
 	hosts[host] = host_session;
 	if not host:match("[@/]") then
-		disco_items:set(host:match("%.(.*)") or "*", host, true);
+		disco_items:set(host:match("%.(.*)") or "*", host, host_config.core.name or true);
 	end
 	for option_name in pairs(host_config.core) do
 		if option_name:match("_ports$") or option_name:match("_interface$") then
--- a/plugins/mod_disco.lua	Fri Aug 03 14:07:41 2012 +0100
+++ b/plugins/mod_disco.lua	Sun Aug 05 17:18:35 2012 +0100
@@ -111,8 +111,8 @@
 	if node and node ~= "" then return; end -- TODO fire event?
 
 	local reply = st.reply(stanza):query("http://jabber.org/protocol/disco#items");
-	for jid in pairs(get_children(module.host)) do
-		reply:tag("item", {jid = jid}):up();
+	for jid, name in pairs(get_children(module.host)) do
+		reply:tag("item", {jid = jid, name = name~=true and name or nil}):up();
 	end
 	for _, item in ipairs(disco_items) do
 		reply:tag("item", {jid=item[1], name=item[2]}):up();