aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
Commit message (Collapse)AuthorAgeFilesLines
* mod_pubsub: Move precondition error wrangling out of util.pubsubKim Alvefur2024-10-291-3/+4
| | | | | | | | | Removes dependency on util.error from util.pubsub which was only used for this one special case. Line count reduction! Would be even nicer if templating could be done by util.error itself.
* util.error: Use is_error() instead of is_err() everywhereKim Alvefur2024-10-291-1/+1
| | | | Continuation of 4b39691a274e
* mod_pubsub: Allow passing additional error contextKim Alvefur2024-10-271-4/+4
| | | | Sometimes it is useful to pass additional information along.
* mod_pubsub: Use error registryKim Alvefur2024-10-271-10/+5
| | | | | | | | | | This is what util.error was made for! This replaces the custom error stanza builder with common code in util.stanza that knows enough about util.error and namespaced errors. Some awkwardness remains in the way util.pubsub returns conflicting form fields.
* Merge 0.12->trunkKim Alvefur2024-10-261-10/+10
|\
| * mod_admin_adhoc: Fix log messages for reloading modules.Aidan Epstein2024-09-291-10/+10
| | | | | | | | Also rename for loop item so that it doesn't shadow module variable.
* | mod_invites_adhoc: Add password reset commandKim Alvefur2024-10-201-0/+30
| | | | | | | | | | | | To support cases where the admin does not have easy access to the command line to generate a password reset invite for someone who forgot their password.
* | mod_pubsub: Check new role framework for node creation privilegesKim Alvefur2024-10-131-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | This enables granting regular users permission to create nodes via the new roles framework. Previously this required either making everyone an admin or writing a custom mod_pubsub variant with different permission details. Previous default behavior of only allowing creation by admin is kept as to not give out unexpected permissions on upgrade, but could be reevaluated at a later time. Fixes #1324
* | MUC: Fix error with nonlegacy hats.Aidan Epstein2024-09-281-1/+1
| |
* | mod_csi: Update correct variables when counting statesKim Alvefur2024-09-211-2/+2
| |
* | mod_csi: Use same label name for gauge as for older counterKim Alvefur2024-09-061-1/+1
| | | | | | | | Consistency.
* | Merge 0.12->trunkKim Alvefur2024-08-301-1/+1
|\|
| * mod_invites: Fix traceback when token_info isn’t setEmmanuel Gil Peyrot2024-07-311-1/+1
| |
* | mod_admin_shell: Prevent traceback due to type errorKim Alvefur2024-08-261-1/+2
| | | | | | | | Here too
* | mod_s2s: Fix traceback due to type confusion (Thanks Menel)Kim Alvefur2024-08-261-1/+2
| | | | | | | | The code assumed a 2-d sparse array but it could also be a string.
* | mod_csi: Optimize metrics collection (prematurely)Kim Alvefur2024-08-181-9/+10
| | | | | | | | I did not measure, but this should be way fewer function calls.
* | mod_csi: Rename unused loop variables to '_' [luacheck]Kim Alvefur2024-08-171-2/+2
| |
* | mod_csi: Count how many sessions are using CSI and their stateKim Alvefur2024-08-171-0/+20
| |
* | mod_s2s_bidi: Include empty list of labels in metricsKim Alvefur2024-08-161-3/+3
| | | | | | | | | | Throws error attempting to append the nil label list to an array for host-scoped metrics.
* | mod_s2s_bidi: Collect some metricsKim Alvefur2024-08-111-0/+7
| |
* | mod_auth_internal_{hashed,plain}: Respect flag for disabled accounts in ↵Kim Alvefur2024-08-092-0/+6
| | | | | | | | | | | | | | test_password() This API method is used e.g. in HTTP modules which also should respect disabled accounts.
* | mod_c2s,mod_s2s: Advertise idle-seconds per XEP-0478Kim Alvefur2024-08-032-8/+37
| | | | | | | | | | | | | | | | This is the time after liveness checks are performed via the respective read-timeout event, which by default involves sending a space character but could be overridden e.g. as is done by mod_smacks. Only advertised, unsure what we would do with it.
* | MUC: Don't default component admins to being room ownersMatthew Wild2024-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | This change has various technical and social benefits. If ownership of a MUC is really needed, it can be gained using the 'Set affiliation' ad-hoc command or prosodyctl shell. Example client incompatibility with the old behaviour: - https://github.com/monal-im/Monal/issues/1085
* | MUC: Add per-room PM restriction functionality (thanks Wirlaburla)Matthew Wild2024-05-232-0/+127
| | | | | | | | Based on mod_muc_restrict_pm in prosody-modules d82c0383106a
* | Merge 0.12->trunkKim Alvefur2024-04-271-2/+7
|\|
| * 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. Backport of 430333198e4c Fixes #1857
| * mod_blocklist: Drop blocked messages without error, option to restore ↵Kim Alvefur2024-04-271-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | compliant behavior From XEP-0191: > For message stanzas, the server SHOULD return an error, which SHOULD > be <service-unavailable/>. Following this may leak to a blocked JID that they have been blocked, which seems contrary to the goal of pretending to be perpetually offline.
* | mod_pep: Implement 'roster' (group) access_modelKim Alvefur2023-12-032-1/+24
| | | | | | | | | | | | | | Allows e.g. restricting your vcard4 to only family or similar. Notes: This does not include roster groups in the configuration form, so the client will have to get them from the actual roster.
* | mod_announce: Suppress luacheck warningsMatthew Wild2024-04-261-3/+3
| |
* | mod_announce: Add shell commands and APIs for sending to all/online/rolesMatthew Wild2024-04-241-3/+85
| |
* | mod_blocklist: Fix fix signal for letting stanzas passKim Alvefur2024-04-231-2/+0
| | | | | | | | Returning nothing/nil lets stanzas pass, returning anything else blocks
* | mod_blocklist: Check JID of mediated MUC invite sender against blocklistMatthew Wild2024-04-221-1/+16
| | | | | | | | | | This ensures that someone on your blocklist is unable to invite you to MUC rooms.
* | mod_saslauth: Log when tls-exporter is NOT supported, as well as when it isMatthew Wild2024-04-171-0/+2
| |
* | mod_http_file_share: Fix expiry disabled check for new config APIKim Alvefur2024-04-081-1/+1
| | | | | | | | Similar to 26c30844cac6
* | mod_version: Fix uname result style (thanks riau)Kim Alvefur2024-04-071-3/+3
| | | | | | | | `result[, err]`, not `ok, err|result`, must have confused it with pcall
* | mod_server_contact_info: Sort form fields to please scansionKim Alvefur2024-04-061-1/+2
| | | | | | | | | | The unstable hash table order caused the tests to fail and I don't know how to tell scansion to ignore the order.
* | mod_version: Handle access denied from uname()Kim Alvefur2024-04-061-1/+6
| | | | | | | | | | Discovered while experimenting with a stricter SystemCallFilter setting See man:systemd.exec(5)
* | mod_admin_shell: Add connection created timeaidan2024-04-031-0/+12
| | | | | | | | | | | | This adds an output format option to show the time that the connection was created. Ref #1852
* | Merge 0.12->trunkKim Alvefur2024-04-041-2/+2
|\|
| * mod_invites_adhoc: Fix result form type (thanks betarays)Kim Alvefur2024-04-041-2/+2
| |
* | MUC: Fix legacy hats (thanks nicoco)Kim Alvefur2024-03-281-2/+8
| | | | | | | | Why do we not have tests for this?
* | MUC: Switch to official XEP-0317 namespace for Hats (including compat) ↵Kim Alvefur2024-03-281-1/+10
| | | | | | | | (thanks nicoco)
* | mod_posix: Move everything to util.startupKim Alvefur2024-03-231-112/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows greater control over the order of events. Notably, the internal ordering between daemonization, initialization of libunbound and setup of signal handling is sensitive. libunbound starts a separate thread for processing DNS requests. If this thread is started before signal handling has been set up, it will not inherit the signal handlers and instead behave as it would have before signal handlers were set up, i.e. cause the whole process to immediately exit. libunbound is usually initialized on the first DNS request, usually triggered by an outgoing s2s connection attempt. If daemonization happens before signals have been set up, signals may not be processed at all.
* | mod_bosh: Set base_type on sessionMatthew Wild2024-03-171-1/+1
| | | | | | | | | | This fixes a traceback with mod_saslauth. Ideally we move this to util.session at some point, though.
* | mod_pubsub: Ignore shadowed variable [luacheck]Kim Alvefur2024-03-061-0/+1
| |
* | mod_pubsub: Add shell commands to create and list nodesMatthew Wild2024-03-061-0/+42
| |
* | mod_posix: Move POSIX signal handling into util.startup to avoid raceKim Alvefur2024-03-021-50/+0
| | | | | | | | | | | | | | | | | | | | When libunbound is initialized, it spawns a thread to work in. In case a module initializes libunbound, e.g. by triggering a s2s connection, Prosody would not handle signals, instead immediately quit on e.g. the reload (SIGHUP) signal. Likely because the libunbound thread would not have inherited the signal mask from the main Prosody thread. Thanks Menel, riau and franck-x for reporting and help narrowing down
* | mod_s2s: Comment on why we avoid hostnames in stanza bounce messagesKim Alvefur2024-02-241-0/+2
| |
* | mod_cron: Fix log format to account for float that was integer beforeKim Alvefur2024-02-241-1/+1
| |
* | mod_server_contact_info: Update to publish fields via new mod_server_infoMatthew Wild2024-02-231-12/+25
| |