plugins/mod_admin_telnet.lua
changeset 9333 36badabc85ce
parent 9012 4c745d42c974
child 9335 048389a9bbd4
equal deleted inserted replaced
9332:19bc3ec13f07 9333:36badabc85ce
   873 
   873 
   874 function def_env.host:list()
   874 function def_env.host:list()
   875 	local print = self.session.print;
   875 	local print = self.session.print;
   876 	local i = 0;
   876 	local i = 0;
   877 	local type;
   877 	local type;
   878 	for host in values(array.collect(keys(prosody.hosts)):sort()) do
   878 	for host, host_session in it.sorted_pairs(prosody.hosts) do
   879 		i = i + 1;
   879 		i = i + 1;
   880 		type = hosts[host].type;
   880 		type = host_session.type;
   881 		if type == "local" then
   881 		if type == "local" then
   882 			print(host);
   882 			print(host);
   883 		else
   883 		else
   884 			type = module:context(host):get_option_string("component_module", type);
   884 			type = module:context(host):get_option_string("component_module", type);
   885 			if type ~= "component" then
   885 			if type ~= "component" then
   894 def_env.port = {};
   894 def_env.port = {};
   895 
   895 
   896 function def_env.port:list()
   896 function def_env.port:list()
   897 	local print = self.session.print;
   897 	local print = self.session.print;
   898 	local services = portmanager.get_active_services().data;
   898 	local services = portmanager.get_active_services().data;
   899 	local ordered_services, n_ports = {}, 0;
   899 	local n_services, n_ports = 0, 0;
   900 	for service, interfaces in pairs(services) do
   900 	for service, interfaces in it.sorted_pairs(services) do
   901 		table.insert(ordered_services, service);
   901 		n_services = n_services + 1;
   902 	end
       
   903 	table.sort(ordered_services);
       
   904 	for _, service in ipairs(ordered_services) do
       
   905 		local ports_list = {};
   902 		local ports_list = {};
   906 		for interface, ports in pairs(services[service]) do
   903 		for interface, ports in pairs(interfaces) do
   907 			for port in pairs(ports) do
   904 			for port in pairs(ports) do
   908 				table.insert(ports_list, "["..interface.."]:"..port);
   905 				table.insert(ports_list, "["..interface.."]:"..port);
   909 			end
   906 			end
   910 		end
   907 		end
   911 		n_ports = n_ports + #ports_list;
   908 		n_ports = n_ports + #ports_list;
   912 		print(service..": "..table.concat(ports_list, ", "));
   909 		print(service..": "..table.concat(ports_list, ", "));
   913 	end
   910 	end
   914 	return true, #ordered_services.." services listening on "..n_ports.." ports";
   911 	return true, n_services.." services listening on "..n_ports.." ports";
   915 end
   912 end
   916 
   913 
   917 function def_env.port:close(close_port, close_interface)
   914 function def_env.port:close(close_port, close_interface)
   918 	close_port = assert(tonumber(close_port), "Invalid port number");
   915 	close_port = assert(tonumber(close_port), "Invalid port number");
   919 	local n_closed = 0;
   916 	local n_closed = 0;