aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
Commit message (Collapse)AuthorAgeFilesLines
* MUC: Switch to new storage format by defaultMatthew Wild2020-03-121-1/+1
| | | | | | | | | | | | Changing the default setting of `new_muc_storage_format` from false to true. The code supports reading both formats since 0.11, but servers with MUCs stored using the new format will not be able to downgrade to 0.10 or earlier. The new format is clearer (less nesting for the most commonly-accessed data), and combined with the new map-store methods, allows for some operations to become more efficient (such as finding out which MUCs on a service a given user is affiliated with).
* MUC: Support for broadcasting unavailable presence for affiliated offline usersMatthew Wild2020-03-122-3/+24
| | | | Activated when muc#roomconfig_presencebroadcast includes the "none" role.
* MUC: Pass previous role to :publicise_occupant_status() when destroying a MUCMatthew Wild2020-03-121-3/+4
|
* MUC: Don't unconditionally broadcast presence with role="none"Matthew Wild2020-03-121-4/+0
| | | | | | Detailed explanation in de607875d4bd. A presence with role="none" (which is always type="unavailable") should only be broadcast if available presence was previously broadcast for that occupant.
* MUC: Pass previous role to :publicise_occupant_status() whenever possibleMatthew Wild2020-03-121-4/+6
| | | | | | | | | | | | | | | | | | | Currently there is what amounts to a hack in presence_broadcast.lib.lua to make it always broadcast presence with roles of "none". This is to ensure that if you previously saw available presence for someone, you will also see the unavailable presence (which always has role="none"). The correct approach is to take into account what the previous role was ( i.e. answer the question: "Was the available presence for this occupant a role for which presence broadcast is enabled?). The logic is already in place to do this correctly, but most call sites do not provide the previous role (prev_role argument) of the occupant, which causes it to not be used. In its place the hack to always broadcast presence of role="none" has allowed things to continue to work. The intention is that a subsequent commit will remove the unconditional broadcast of role="none".
* Merge 0.11->trunkKim Alvefur2020-03-112-2/+10
|\
| * mod_mam,mod_muc_mam: Allow other work to be performed during archive cleanup ↵Kim Alvefur2020-03-112-2/+10
| | | | | | | | | | | | | | | | | | | | | | (fixes #1504) This lets Prosody handle socket related work between each step in the cleanup in order to prevent the server from being completely blocked during this. An async storage backend would not need this but those are currently rare.
* | storagemanager, mod_storage_sql: Rename methods to :get_all() and :delete_all()Matthew Wild2020-03-111-4/+4
| |
* | mod_storage_sql: Add map_store:find_key() and map_store:delete_key() (+ tests)Matthew Wild2020-03-111-0/+44
| |
* | mod_tokenauth: Track creation time of tokensMatthew Wild2020-02-281-0/+1
| |
* | mod_tokenauth: Handle tokens issued to bare hosts (eg components)Kim Alvefur2020-02-281-1/+1
| |
* | Merge 0.11->trunkKim Alvefur2020-02-272-2/+2
|\|
| * mod_pubsub, mod_pep: Ensure correct number of children of <item/> (fixes #1496)Kim Alvefur2020-02-272-2/+2
| |
* | Merge 0.11->trunkKim Alvefur2020-02-271-5/+8
|\|
| * mod_muc_mam: Fix traceback saving message from non-occupant (fixes #1497)Kim Alvefur2020-02-271-5/+8
| | | | | | | | Caused by a plugin sending a message from the room itself.
* | mod_authtokens: Rename to mod_tokenauth for consistency with mod_saslauthMatthew Wild2020-02-261-0/+0
| |
* | mod_authtokens: New module for managing auth tokensMatthew Wild2020-02-261-0/+81
| |
* | mod_admin_telnet: Allow passing list of hosts to http:list()Kim Alvefur2020-02-241-2/+2
| | | | | | | | | | Lets you select what hosts to list http services on. In particular, this enables listing global http services, which was not possible before.
* | mod_muc: add muc-private-message eventMaxime “pep” Buquet2020-02-241-1/+3
| | | | | | | | | | This seems to be the one place handling MUC-PMs. This event is added so that plugins (such as muc_occupant_id) can edit them without having to redo the work.
* | usermanager, mod_authz_*: Merge mod_authz_config and mod_authz_internal into ↵Matthew Wild2020-02-231-1/+7
| | | | | | | | the latter
* | mod_admin_telnet: Fix host selection filter, fixes loading on componentsKim Alvefur2020-02-221-3/+17
| | | | | | | | | | | | | | get_hosts_with_module(a component, mod) would still filter out components since they don't have type="component" instead of "local" Introduced in 4d3549e64489
* | mod_admin_telnet: Reflow hosts filter for readabilityKim Alvefur2020-02-221-1/+6
| |
* | Merge 0.11->trunkKim Alvefur2020-02-221-6/+6
|\|
| * mod_storage_sql: Move update limit check back one step, fixes tracebackKim Alvefur2020-02-221-6/+6
| | | | | | | | | | 0c00274528a4 moved it one step too far, so the check was performed before connecting to the database instead of after.
* | mod_ping: Fix double response to internal pingKim Alvefur2020-02-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | When responding to a ping from elsewhere in the same Prosody the send function will be host_send from core.hostmanager, which does not return anything. Tailcalling it therefore lets the iq event fall trough to handle_unhandled_stanza in core.stanza_router, which responds with an error. This error also goes into handle_unhandled_stanza which discards it. Noticed because I have a module that points out when a stanza error reply is created without a text argument.
* | Merge 0.11->trunkKim Alvefur2020-02-211-7/+7
|\|
| * mod_storage_sql: Fix check for deletion limits (fixes #1494)Kim Alvefur2020-02-211-7/+7
| | | | | | | | | | The check was only performed if sql_manage_tables was set to true (the default) It should always be performed
* | mod_s2s: Fix typo in comment [codespell]Kim Alvefur2020-02-131-1/+1
| |
* | Merge 0.11->trunkMatthew Wild2020-02-131-1/+2
|\|
| * mod_muc: Allow control over the server-admins-are-room-owners feature (see ↵Matthew Wild2020-02-131-1/+2
| | | | | | | | #1174)
* | mod_admin_telnet: Avoid indexing missing socket (thanks tmolitor)Kim Alvefur2020-02-051-12/+12
| | | | | | | | if `sock` was nil it would still proceed with SNI and ALPN checks
* | mod_saslauth: Pass through any auth scope from the SASL handler to ↵Matthew Wild2020-02-051-1/+1
| | | | | | | | sessionmanager.make_authenticated()
* | mod_authz_internal, usermanager: Rename to mod_authz_configMatthew Wild2020-01-271-0/+0
| |
* | usermanager, mod_authz_internal: Move admin-checking functionality into a ↵Matthew Wild2020-01-271-0/+16
| | | | | | | | | | | | | | module. Fixes #517 (ish). Note: Removes the ability for mod_auth_* providers to determine user admin status. Such modules will need to have their is_admin methods ported to be a mod_authz_* provider.
* | mod_s2s: Comment on the various 'reason' arguments passed to :closeKim Alvefur2020-01-261-0/+3
| |
* | mod_posix: Add deprecation warning for the 'daemonize' optionKim Alvefur2020-01-261-1/+5
| |
* | mod_s2s: Pass use_ipv4/use_ipv6 from config to service resolverMatthew Wild2020-01-251-1/+7
| |
* | Backed out changeset 74d66b1be989 (not optimal API)Matthew Wild2020-01-251-6/+1
| |
* | mod_admin_telnet: Use promise based DNS resolvingKim Alvefur2020-01-241-7/+5
| | | | | | | | Mostly done for testing this new API
* | Merge 0.11->trunkKim Alvefur2020-01-241-6/+19
|\|
| * mod_admin_telnet: Create a DNS resolver per console session (fixes #1492)Kim Alvefur2020-01-241-6/+19
| | | | | | | | This is now the common pattern, eg see mod_s2s.
| * mod_websocket: Fire event on session creation (thanks Aaron van Meerten)Matthew Wild2020-01-241-0/+2
| |
* | mod_websocket: Fire event on session creation (thanks Aaron van Meerten)Matthew Wild2020-01-241-0/+2
| |
* | mod_s2s: Pass use_ipv4/ipv6 from config to connector configMatthew Wild2020-01-241-1/+6
| |
* | Merge 0.11->trunkMatthew Wild2020-01-191-1/+6
|\|
| * mod_posix: Support for command-line flags to override 'daemonize' config optionMatthew Wild2020-01-191-1/+6
| | | | | | | | | | -D / --daemonize -F / --no-daemonize
* | mod_muc_mam: Measure how long a cleanup run takes (like mod_mam)Kim Alvefur2020-01-041-0/+4
| |
* | Merge 0.11->trunkKim Alvefur2020-01-021-0/+1
|\|
| * mod_websocket: Clear mask bit when reflecting ping frames (fixes #1484)0.11.4Kim Alvefur2020-01-021-0/+1
| |
| * mod_mam: Fix rebase mistake [luacheck]Kim Alvefur2019-12-241-1/+1
| | | | | | | | The 'err' was there in trunk