Comparison

plugins/mod_admin_shell.lua @ 12977:74b9e05af71e

plugins: Prefix module imports with prosody namespace
author Kim Alvefur <zash@zash.se>
date Fri, 24 Mar 2023 13:15:28 +0100
parent 12927:918dfbb330fd
child 12991:6d7e3d5463d8
comparison
equal deleted inserted replaced
12976:a187600ec7d6 12977:74b9e05af71e
8 -- luacheck: ignore 212/self 8 -- luacheck: ignore 212/self
9 9
10 module:set_global(); 10 module:set_global();
11 module:depends("admin_socket"); 11 module:depends("admin_socket");
12 12
13 local hostmanager = require "core.hostmanager"; 13 local hostmanager = require "prosody.core.hostmanager";
14 local modulemanager = require "core.modulemanager"; 14 local modulemanager = require "prosody.core.modulemanager";
15 local s2smanager = require "core.s2smanager"; 15 local s2smanager = require "prosody.core.s2smanager";
16 local portmanager = require "core.portmanager"; 16 local portmanager = require "prosody.core.portmanager";
17 local helpers = require "util.helpers"; 17 local helpers = require "prosody.util.helpers";
18 local server = require "net.server"; 18 local server = require "prosody.net.server";
19 local st = require "util.stanza"; 19 local st = require "prosody.util.stanza";
20 20
21 local _G = _G; 21 local _G = _G;
22 22
23 local prosody = _G.prosody; 23 local prosody = _G.prosody;
24 24
25 local unpack = table.unpack; 25 local unpack = table.unpack;
26 local iterators = require "util.iterators"; 26 local iterators = require "prosody.util.iterators";
27 local keys, values = iterators.keys, iterators.values; 27 local keys, values = iterators.keys, iterators.values;
28 local jid_bare, jid_split, jid_join, jid_resource = import("util.jid", "bare", "prepped_split", "join", "resource"); 28 local jid_bare, jid_split, jid_join, jid_resource = import("prosody.util.jid", "bare", "prepped_split", "join", "resource");
29 local set, array = require "util.set", require "util.array"; 29 local set, array = require "prosody.util.set", require "prosody.util.array";
30 local cert_verify_identity = require "util.x509".verify_identity; 30 local cert_verify_identity = require "prosody.util.x509".verify_identity;
31 local envload = require "util.envload".envload; 31 local envload = require "prosody.util.envload".envload;
32 local envloadfile = require "util.envload".envloadfile; 32 local envloadfile = require "prosody.util.envload".envloadfile;
33 local has_pposix, pposix = pcall(require, "util.pposix"); 33 local has_pposix, pposix = pcall(require, "prosody.util.pposix");
34 local async = require "util.async"; 34 local async = require "prosody.util.async";
35 local serialization = require "util.serialization"; 35 local serialization = require "prosody.util.serialization";
36 local serialize_config = serialization.new ({ fatal = false, unquoted = true}); 36 local serialize_config = serialization.new ({ fatal = false, unquoted = true});
37 local time = require "util.time"; 37 local time = require "prosody.util.time";
38 local promise = require "util.promise"; 38 local promise = require "prosody.util.promise";
39 local logger = require "util.logger"; 39 local logger = require "prosody.util.logger";
40 40
41 local t_insert = table.insert; 41 local t_insert = table.insert;
42 local t_concat = table.concat; 42 local t_concat = table.concat;
43 43
44 local format_number = require "util.human.units".format; 44 local format_number = require "prosody.util.human.units".format;
45 local format_table = require "util.human.io".table; 45 local format_table = require "prosody.util.human.io".table;
46 46
47 local function capitalize(s) 47 local function capitalize(s)
48 if not s then return end 48 if not s then return end
49 return (s:gsub("^%a", string.upper):gsub("_", " ")); 49 return (s:gsub("^%a", string.upper):gsub("_", " "));
50 end 50 end
694 end 694 end
695 end 695 end
696 696
697 def_env.config = {}; 697 def_env.config = {};
698 function def_env.config:load(filename, format) 698 function def_env.config:load(filename, format)
699 local config_load = require "core.configmanager".load; 699 local config_load = require "prosody.core.configmanager".load;
700 local ok, err = config_load(filename, format); 700 local ok, err = config_load(filename, format);
701 if not ok then 701 if not ok then
702 return false, err or "Unknown error loading config"; 702 return false, err or "Unknown error loading config";
703 end 703 end
704 return true, "Config loaded"; 704 return true, "Config loaded";
706 706
707 function def_env.config:get(host, key) 707 function def_env.config:get(host, key)
708 if key == nil then 708 if key == nil then
709 host, key = "*", host; 709 host, key = "*", host;
710 end 710 end
711 local config_get = require "core.configmanager".get 711 local config_get = require "prosody.core.configmanager".get
712 return true, serialize_config(config_get(host, key)); 712 return true, serialize_config(config_get(host, key));
713 end 713 end
714 714
715 function def_env.config:reload() 715 function def_env.config:reload()
716 local ok, err = prosody.reload_config(); 716 local ok, err = prosody.reload_config();
1504 else 1504 else
1505 return true, ("%d out of %d affiliation%s listed"):format(displayed, total, total ~= 1 and "s" or "") 1505 return true, ("%d out of %d affiliation%s listed"):format(displayed, total, total ~= 1 and "s" or "")
1506 end 1506 end
1507 end 1507 end
1508 1508
1509 local um = require"core.usermanager"; 1509 local um = require"prosody.core.usermanager";
1510 1510
1511 def_env.user = {}; 1511 def_env.user = {};
1512 function def_env.user:create(jid, password, role) 1512 function def_env.user:create(jid, password, role)
1513 local username, host = jid_split(jid); 1513 local username, host = jid_split(jid);
1514 if not prosody.hosts[host] then 1514 if not prosody.hosts[host] then
1675 return true, "Showing "..(pat and (matches.." of ") or "all " )..total.." users"; 1675 return true, "Showing "..(pat and (matches.." of ") or "all " )..total.." users";
1676 end 1676 end
1677 1677
1678 def_env.xmpp = {}; 1678 def_env.xmpp = {};
1679 1679
1680 local new_id = require "util.id".medium; 1680 local new_id = require "prosody.util.id".medium;
1681 function def_env.xmpp:ping(localhost, remotehost, timeout) 1681 function def_env.xmpp:ping(localhost, remotehost, timeout)
1682 localhost = select(2, jid_split(localhost)); 1682 localhost = select(2, jid_split(localhost));
1683 remotehost = select(2, jid_split(remotehost)); 1683 remotehost = select(2, jid_split(remotehost));
1684 if not localhost then 1684 if not localhost then
1685 return nil, "Invalid sender hostname"; 1685 return nil, "Invalid sender hostname";
1727 return ("pong from %s on %s in %gs"):format(pong.stanza.attr.from, pong.origin.id, time.now() - time_start); 1727 return ("pong from %s on %s in %gs"):format(pong.stanza.attr.from, pong.origin.id, time.now() - time_start);
1728 end); 1728 end);
1729 end 1729 end
1730 1730
1731 def_env.dns = {}; 1731 def_env.dns = {};
1732 local adns = require"net.adns"; 1732 local adns = require"prosody.net.adns";
1733 1733
1734 local function get_resolver(session) 1734 local function get_resolver(session)
1735 local resolver = session.dns_resolver; 1735 local resolver = session.dns_resolver;
1736 if not resolver then 1736 if not resolver then
1737 resolver = adns.resolver(); 1737 resolver = adns.resolver();
1870 1870
1871 function def_env.debug:events(host, event) 1871 function def_env.debug:events(host, event)
1872 local events_obj; 1872 local events_obj;
1873 if host and host ~= "*" then 1873 if host and host ~= "*" then
1874 if host == "http" then 1874 if host == "http" then
1875 events_obj = require "net.http.server"._events; 1875 events_obj = require "prosody.net.http.server"._events;
1876 elseif not prosody.hosts[host] then 1876 elseif not prosody.hosts[host] then
1877 return false, "Unknown host: "..host; 1877 return false, "Unknown host: "..host;
1878 else 1878 else
1879 events_obj = prosody.hosts[host].events; 1879 events_obj = prosody.hosts[host].events;
1880 end 1880 end
1884 return true, helpers.show_events(events_obj, event); 1884 return true, helpers.show_events(events_obj, event);
1885 end 1885 end
1886 1886
1887 function def_env.debug:timers() 1887 function def_env.debug:timers()
1888 local print = self.session.print; 1888 local print = self.session.print;
1889 local add_task = require"util.timer".add_task; 1889 local add_task = require"prosody.util.timer".add_task;
1890 local h, params = add_task.h, add_task.params; 1890 local h, params = add_task.h, add_task.params;
1891 local function normalize_time(t) 1891 local function normalize_time(t)
1892 return t; 1892 return t;
1893 end 1893 end
1894 local function format_time(t) 1894 local function format_time(t)
2181 -- the next sample and so on. 2181 -- the next sample and so on.
2182 return setmetatable({ session = self.session, stats = true, now = time.now() }, stats_mt); 2182 return setmetatable({ session = self.session, stats = true, now = time.now() }, stats_mt);
2183 end 2183 end
2184 2184
2185 function def_env.stats:show(name_filter) 2185 function def_env.stats:show(name_filter)
2186 local statsman = require "core.statsmanager" 2186 local statsman = require "prosody.core.statsmanager"
2187 local collect = statsman.collect 2187 local collect = statsman.collect
2188 if collect then 2188 if collect then
2189 -- force collection if in manual mode 2189 -- force collection if in manual mode
2190 collect() 2190 collect()
2191 end 2191 end