Mercurial > prosody-modules
view mod_discodot/mod_discodot.lua @ 5516:f25df3af02c1
mod_client_management: Include client software version number in listing
Should you ever wish to revoke a client by version number, e.g. for
security reasons affecting certain versions, then it would be good to at
the very least see which version is used.
Also includes the OAuth2 software ID, an optional unique identifier that
should be the same for all installations of a particular software.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 03 Jun 2023 19:21:39 +0200 |
| parents | 253df0798996 |
| children |
line wrap: on
line source
local cm = require("core.configmanager"); local function format_host(host, conf) if host == "*" then return "Global" end local component_module = conf["component_module"]; if type(component_module) == "string" then if component_module == "component" then return string.format("Component %q", host) else return string.format("Component %q %q", host, component_module) end else return string.format("VirtualHost %q", host) end end function module.command(arg) local config = cm.getconfig(); print("digraph \"prosody\" {") for host, conf in pairs(config) do print(string.format("%q [label=%q]", host, format_host(host, conf))); local parent = host:match("%.(.*)"); if parent and rawget(config, parent) then print(string.format("%q -> %q", parent, host)); end local disco_items = conf["disco_items"] if type(disco_items) == "table" then for _, pair in ipairs(disco_items) do print(string.format("%q -> %q", host, pair[1])); end end end print("}") return 0 end
