Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | MUC: Pass previous role to :publicise_occupant_status() when destroying a MUC | Matthew Wild | 2020-03-12 | 1 | -3/+4 |
| | |||||
* | MUC: Don't unconditionally broadcast presence with role="none" | Matthew Wild | 2020-03-12 | 1 | -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 possible | Matthew Wild | 2020-03-12 | 1 | -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->trunk | Kim Alvefur | 2020-03-11 | 2 | -2/+10 |
|\ | |||||
| * | mod_mam,mod_muc_mam: Allow other work to be performed during archive cleanup ↵ | Kim Alvefur | 2020-03-11 | 2 | -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. | ||||
| * | net.server_epoll: Fix indentation | Kim Alvefur | 2020-03-11 | 1 | -3/+3 |
| | | | | | | | | | | | | Some lines seem to have gotten the wrong indentation, possibly caused by Meld which often ignores lines with only whitespace changes and leaves their previous indentation. | ||||
* | | storagemanager, mod_storage_sql: Rename methods to :get_all() and :delete_all() | Matthew Wild | 2020-03-11 | 3 | -20/+20 |
| | | |||||
* | | storagemanager: Add support for :find_key() and :delete_key() to map store shim | Matthew Wild | 2020-03-11 | 2 | -7/+37 |
| | | |||||
* | | storagemanager: Fix unused variable in tests [luacheck] | Matthew Wild | 2020-03-11 | 1 | -1/+2 |
| | | |||||
* | | mod_storage_sql: Add map_store:find_key() and map_store:delete_key() (+ tests) | Matthew Wild | 2020-03-11 | 2 | -2/+116 |
| | | |||||
* | | storagemanager: Add tests for map stores | Matthew Wild | 2020-03-11 | 1 | -0/+38 |
| | | |||||
* | | mod_tokenauth: Track creation time of tokens | Matthew Wild | 2020-02-28 | 1 | -0/+1 |
| | | |||||
* | | mod_tokenauth: Handle tokens issued to bare hosts (eg components) | Kim Alvefur | 2020-02-28 | 1 | -1/+1 |
| | | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-02-27 | 2 | -2/+2 |
|\| | |||||
| * | mod_pubsub, mod_pep: Ensure correct number of children of <item/> (fixes #1496) | Kim Alvefur | 2020-02-27 | 2 | -2/+2 |
| | | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-02-27 | 1 | -5/+8 |
|\| | |||||
| * | mod_muc_mam: Fix traceback saving message from non-occupant (fixes #1497) | Kim Alvefur | 2020-02-27 | 1 | -5/+8 |
| | | | | | | | | Caused by a plugin sending a message from the room itself. | ||||
* | | mod_authtokens: Rename to mod_tokenauth for consistency with mod_saslauth | Matthew Wild | 2020-02-26 | 1 | -0/+0 |
| | | |||||
* | | mod_authtokens: New module for managing auth tokens | Matthew Wild | 2020-02-26 | 1 | -0/+81 |
| | | |||||
* | | util.adhoc: Allow passing dataforms in initial command | Kim Alvefur | 2020-02-26 | 1 | -2/+2 |
| | | | | | | | | | | This might not be quite legal per XEP-0050, but makes it possible to call simpler commands without keeping state across another roundtrip. | ||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-02-24 | 1 | -1/+1 |
|\| | |||||
| * | util.datamanager: Fix iterating over "users" (thanks marc0s) | Kim Alvefur | 2020-02-24 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | The 'store' path componend used to be unescaped until 756a2a00e7e7 added escaping to address issues with characters like '/' used in PEP, but with a special case for '_' which was already in common use in 'store' path components. Missed adding this escaping here. | ||||
* | | net.dns: Handle being loaded outside of Prosody | Kim Alvefur | 2020-02-24 | 1 | -2/+2 |
| | | | | | | | | | | | | `if timer ...` suggests that this was intended, but it did not work because net.timer depends on net.server which refuses to be loaded outside of Prosody. | ||||
* | | mod_admin_telnet: Allow passing list of hosts to http:list() | Kim Alvefur | 2020-02-24 | 1 | -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 event | Maxime ?pep? Buquet | 2020-02-24 | 1 | -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. | ||||
* | | util.jwt: Remove unused return value from tests [luacheck] | Kim Alvefur | 2020-02-24 | 1 | -1/+1 |
| | | |||||
* | | util.jwt: Basic JSON Web Token library supporting HS256 tokens | Kim Alvefur | 2020-02-24 | 2 | -0/+70 |
| | | |||||
* | | usermanager, mod_authz_*: Merge mod_authz_config and mod_authz_internal into ↵ | Matthew Wild | 2020-02-23 | 2 | -2/+8 |
| | | | | | | | | the latter | ||||
* | | mod_admin_telnet: Fix host selection filter, fixes loading on components | Kim Alvefur | 2020-02-22 | 1 | -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 readability | Kim Alvefur | 2020-02-22 | 1 | -1/+6 |
| | | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-02-22 | 1 | -6/+6 |
|\| | |||||
| * | mod_storage_sql: Move update limit check back one step, fixes traceback | Kim Alvefur | 2020-02-22 | 1 | -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 ping | Kim Alvefur | 2020-02-21 | 1 | -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->trunk | Kim Alvefur | 2020-02-21 | 1 | -7/+7 |
|\| | |||||
| * | mod_storage_sql: Fix check for deletion limits (fixes #1494) | Kim Alvefur | 2020-02-21 | 1 | -7/+7 |
| | | | | | | | | | | The check was only performed if sql_manage_tables was set to true (the default) It should always be performed | ||||
* | | util.startup: Break out command line argument parsing into util.argparse | Kim Alvefur | 2020-02-19 | 2 | -49/+63 |
| | | | | | | | | | | This will allow using it from other places such as prosodyctl sub-commands and plugins | ||||
* | | net.resolvers.service: Fix resolving of targets with multiple IPs | Kim Alvefur | 2020-02-16 | 1 | -5/+8 |
| | | | | | | | | | | Each basic resolver was only used once and not kept around to try any IP addresses but the first one found. | ||||
* | | net.server_epoll: Reduce log level of TLS handshake errors to debug | Kim Alvefur | 2020-02-15 | 1 | -1/+1 |
| | | | | | | | | | | | | | | These are triggered all the time by random HTTPS connections, so they are mostly just useless noise. When you actually do need them, you probably have debug logging enabled too, since these messages are fairly useless without more context. | ||||
* | | mod_s2s: Fix typo in comment [codespell] | Kim Alvefur | 2020-02-13 | 1 | -1/+1 |
| | | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-02-13 | 1 | -1/+2 |
|\| | |||||
| * | mod_muc: Allow control over the server-admins-are-room-owners feature (see ↵ | Matthew Wild | 2020-02-13 | 1 | -1/+2 |
| | | | | | | | | #1174) | ||||
* | | stanza_router: only fire pre-stanza if firing other preevents (e.g. for c2s ↵ | Matthew Wild | 2020-02-05 | 1 | -6/+6 |
| | | | | | | | | sessions) | ||||
* | | mod_admin_telnet: Avoid indexing missing socket (thanks tmolitor) | Kim Alvefur | 2020-02-05 | 1 | -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 Wild | 2020-02-05 | 1 | -1/+1 |
| | | | | | | | | sessionmanager.make_authenticated() | ||||
* | | sessionmanager: Support passing an auth scope to make_authenticated | Matthew Wild | 2020-02-05 | 1 | -1/+2 |
| | | |||||
* | | portmanager: Don't auto-start network services under prosodyctl | Matthew Wild | 2020-02-05 | 1 | -1/+1 |
| | | |||||
* | | usermanager: Add get_roles() function | Matthew Wild | 2020-02-05 | 1 | -1/+7 |
| | | |||||
* | | stanza_router: Add once-per-routed-stanza event, pre-stanza | Matthew Wild | 2020-02-05 | 1 | -1/+8 |
| | | |||||
* | | net.server_epoll: Different error to distinguish connection timeout | Kim Alvefur | 2020-02-01 | 1 | -1/+2 |
| | | | | | | | | This mirrors what server_event does. | ||||
* | | util.net: Fix signedness warning on ARM | Emmanuel Gil Peyrot | 2020-01-30 | 1 | -2/+2 |
| | | | | | | | | net.c:87:56: warning: comparison of integer expressions of different signedness: ?long unsigned int? and ?long int? [-Wsign-compare] |