aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_admin_shell.lua
Commit message (Collapse)AuthorAgeFilesLines
* mod_admin_shell: Add config:set([host,] key, value) because why notKim Alvefur2023-04-081-0/+8
| | | | | | | | | We had config:get() but not this. > <MattJ> Yeah, why did we never implement that? Handy if you want to quickly try out settings without reloading the whole config.
* mod_admin_shell: Allow wildcard matches like s2s:show("*.example.com")Kim Alvefur2023-04-081-1/+13
| | | | | E.g. if you want to show connections to/from a domain, including its subdomains, this is handy.
* mod_admin_shell: Allow "*" as substitute for 'nil' for easier CLI usageKim Alvefur2023-04-071-2/+2
| | | | | | | | Since prosodyctl shell with additional arguments assumes the first two are a section:command() and any following arguments are strings, passing a bare 'nil' is not possible. In order to avoid delving into this rabbit hole, instead produce a token that alone is not really a legal JID for use as wildcard.
* mod_admin_shell: Make IP column thinner if IPv6 is disabledKim Alvefur2023-04-071-1/+1
| | | | | | | IPv6 addresses can be pretty long, so if they can be more compact, that's nice. But nobody would disable IPv6, would they?
* mod_admin_shell: Make default column width 1 partKim Alvefur2023-04-071-1/+1
| | | | | These gets used for usernames, resources and other random session fields that don't have a column definition in `available_columns`
* mod_admin_shell: Fix attempt to compare number with stringKim Alvefur2023-04-071-1/+1
| | | | Missed the # in 93c1590b5951
* mod_admin_shell: Dynamically size JIDs and hostsKim Alvefur2023-04-071-4/+4
| | | | Reasoning: a hostname is one part, a JID is 3 parts.
* mod_admin_shell: More dynamic widths calculationsKim Alvefur2023-04-071-3/+14
|
* mod_admin_shell: Calculate widths of columns from example valuesKim Alvefur2023-04-061-12/+19
| | | | | Harder to accidentally count wrong if Lua is doing the counting on a plausible input.
* mod_admin_shell: Strip 'prosody:' prefix to allow narrower Role columnKim Alvefur2023-04-021-3/+4
|
* mod_admin_shell: Allow matching on host or bare JID in c2s:showKim Alvefur2023-03-311-2/+2
| | | | | Only supporting exact match on full JID isn't helpful if you want to list sessions per host or user.
* core.usermanager: Correct formatting of not implemented errorKim Alvefur2023-03-261-1/+1
| | | | Spaces, no hyphen, apparently.
* mod_admin_shell: Enable user after creation with roleKim Alvefur2023-03-261-0/+5
| | | | | Fixes that otherwise the user was created in a disabled state and left as such.
* mod_admin_shell: Simplify user creation when no role givenKim Alvefur2023-03-261-8/+16
| | | | | | Idea here is to prevent a user from being created with the default role if a different role was given, but that dance wouldn't be needed if no role is provided.
* plugins: Prefix module imports with prosody namespaceKim Alvefur2023-03-241-29/+29
|
* mod_admin_shell: Limit module dependency listings to loaded on current hostKim Alvefur2023-03-101-2/+9
| | | | | | E.g. module:info("http") with many http modules loaded would show a lot of duplication, as each module would be listed for each host, even if not actually enabled on that host.
* mod_admin_shell: Show reverse dependencies in module:info()Kim Alvefur2023-03-051-0/+6
| | | | Why was this module loaded? Now you can find out!
* mod_admin_shell: Add commands to disable and enable accountsKim Alvefur2023-02-231-0/+32
| | | | First proper UI to enable/disable, allowing it to be tested.
* Merge 0.12->trunkKim Alvefur2023-02-161-0/+1
|\
| * mod_admin_socket: Return error on unhandled input to prevent apparent freezeKim Alvefur2023-02-161-0/+1
| | | | | | | | | | | | When mod_admin_socket is loaded without mod_admin_shell, attempt to use `prosodyctl shell` will appear to freeze after any input, since no response is returned.
* | mod_admin_shell: Match substring in muc:affiliations() like muc:occupants()Kim Alvefur2023-01-301-1/+1
| | | | | | | | Maybe one day we'll get consistent filtering semantics everywhere.
* | mod_admin_shell: Sort MUC users by relation and JIDKim Alvefur2023-01-291-18/+51
| | | | | | | | Suggested by MattJ, our resident UI expert :)
* | mod_admin_shell: Make Role and Affiliation columns the same width for aestheticsKim Alvefur2023-01-291-2/+2
| | | | | | | | | | The length of the title "Affiliation" made them both close enough that it looked off.
* | mod_admin_shell: Use tables to present MUC usersKim Alvefur2023-01-291-2/+18
| | | | | | | | Tables are awesome!
* | mod_admin_shell: Factor out room retrieval into common functionKim Alvefur2023-01-291-18/+18
| | | | | | | | Justification: See diffstat
* | mod_admin_shell: Add muc:affiliations(room) command to list membershipsKim Alvefur2023-01-291-0/+28
| | | | | | | | | | Easier than going trough muc:room():each_affiliation() since you have to do fiddly things to reach the print() function.
* | mod_admin_shell: Add muc:occupants(room) command to list occupantsKim Alvefur2023-01-291-1/+30
| | | | | | | | | | Easier than going trough muc:room():each_occupant() since you have to do fiddly things to reach the print() function.
* | Merge 0.12->trunkKim Alvefur2022-10-241-1/+5
|\|
| * mod_admin_shell: Ensure available connection for column 'secure'Kim Alvefur2022-10-231-1/+1
| | | | | | | | Similar to #1777
| * mod_admin_shell: Ensure connection exists to get port from (fixes #1777)Kim Alvefur2022-10-231-1/+5
| |
* | mod_admin_shell: Fix display of session without role (thanks Link Mauve)Kim Alvefur2022-09-231-1/+1
| | | | | | | | This can happen to sessions before they are assigned a role
* | mod_admin_shell: Rename variable to avoid confusion with global functionKim Alvefur2022-08-251-7/+7
| | | | | | | | For luacheck, but it doesn't actually complain about this right now
* | mod_admin_shell: Fix output from user:roles()Kim Alvefur2022-08-251-0/+1
| | | | | | | | | | It used _G.print instead of the shell session print, which would silently write to stdout
* | mod_admin_shell: Ensure account has role before it is usableKim Alvefur2022-08-181-8/+16
| | | | | | | | | | | | | | By creating the account first without a password it can't be used until the role has set. This is most important for restricted accounts, as a failure to set the role would lead to the account having more privileges than indented.
* | mod_admin_shell: Update help for user:create to reflect singular role argumentKim Alvefur2022-08-181-1/+1
| |
* | mod_admin_shell: Update with new role management commands and help textMatthew Wild2022-08-181-39/+52
| |
* | mod_admin_shell: Show session role in c2s:showKim Alvefur2022-08-151-1/+10
| |
* | Merge 0.12->trunkMatthew Wild2022-08-181-4/+8
|\|
| * mod_admin_shell: Switch names for user role management commandsKim Alvefur2022-08-151-4/+8
| | | | | | | | | | | | | | user:roles() does not convey that this is the mutating command, it should have been called setroles from the start but wasn't due to lack of foresight. This has to accidentally removing roles when wanting to show them.
* | mod_admin_shell: Remove obsolete module:load() argument from 0.8 timeKim Alvefur2022-08-051-2/+2
| | | | | | | | This 'config' argument was removed without explanation in d8dbf569766c
* | compat: Remove handling of Lua 5.1 location of 'unpack' functionKim Alvefur2022-07-111-1/+1
| |
* | mod_admin_shell: Show session id ping reply cameKim Alvefur2022-06-131-1/+1
| | | | | | | | | | | | To point out which one when more than one connection was established, or if it's an existing connection, allows correlation with s2s:show() or with logs.
* | mod_admin_shell: Include last (mod_cron) task run time in module:info()Kim Alvefur2022-06-011-1/+11
| | | | | | | | Don't think this is otherwise shown anywhere outside of debug logs
* | mod_admin_shell: Drop unused argument [luacheck]Kim Alvefur2022-05-311-1/+1
| |
* | mod_admin_shell: Show bound ports in module:infoKim Alvefur2022-05-311-1/+11
| | | | | | | | I.e. the subset of port:list() relevant to the specified module.
* | mod_admin_shell: Document the 'watch' section in the built-in helpKim Alvefur2022-05-301-0/+4
| |
* | prosodyctl shell: Communicate width of terminal to mod_admin_shellKim Alvefur2022-05-301-5/+10
| | | | | | | | This lets it adjust the width of tables to the actual terminal width.
* | Merge 0.12->trunkKim Alvefur2022-05-151-2/+2
|\|
| * mod_admin_shell: Tighten up type checks to fix #1754 (thanks clouded)Kim Alvefur2022-05-151-2/+2
| | | | | | | | | | | | Due to the dummy statistics provider (see core.statsmanager line 250) having a metatable that allows infinite indexing where everything is always the same table, which end up in suf() in the concatenation line.
* | net: isolate LuaSec-specificsJonas Schäfer2022-04-271-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For this, various accessor functions are now provided directly on the sockets, which reach down into the LuaSec implementation to obtain the information. While this may seem of little gain at first, it hides the implementation detail of the LuaSec+LuaSocket combination that the actual socket and the TLS layer are separate objects. The net gain here is that an alternative implementation does not have to emulate that specific implementation detail and "only" has to expose LuaSec-compatible data structures on the new functions.