aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
Commit message (Collapse)AuthorAgeFilesLines
* MUC: Add 'muc-pre-set-affiliation' event, allowing to block change or modify ↵Matthew Wild2021-11-161-10/+20
| | | | data
* MUC: Add option to include form in registration queryMatthew Wild2021-11-151-3/+11
| | | | | | | | | | | | | | | | | | | This was originally not done based on my interpretation of XEP-0045. Today's reading, however, revealed that it actually says the result > SHOULD contain **at least** a <username/> element (emphasis mine) I take this to mean that including a form **is** allowed (and I think this is sensible). Tigase already includes the form I believe. I've gated the new behaviour behind a (default off) option, because it hasn't been tested for compatibility with clients. My primary desire for it is in Snikket, where the clients will be tested to ensure compatibility with this. I don't anticipate that (m)any clients would break, so maybe after 0.12 we can experiment with enabling it by default and eventually remove the option.
* mod_admin_shell: Handle absence of connection in security column (thanks ↵Kim Alvefur2021-11-151-1/+1
| | | | | | arcseconds) I surmise this can happen in a disconnected/smacks hibernation state.
* mod_pubsub: Fix traceback in disco of non-existent node (thanks Martin)Kim Alvefur2021-11-131-2/+6
| | | | | | | In this case `ret` is a table not containing the node, which makes pubsub_error_reply() try to get an error template with that `ret` table as index, which returns a `nil` then passed to table.unpack, which in turn throws the error.
* mod_c2s: Disconnect user sessions on a role change eventMatthew Wild2021-11-121-18/+16
| | | | | The overlapping logic for deletion and password changed has been merged into a single function.
* util.human.io: Pass nil to cell mapper to signal missing valueKim Alvefur2021-11-121-15/+13
| | | | | Seems more like conventional Lua than passing an empty string to signal lack of value.
* mod_admin_shell: Respect metatables in output serializationKim Alvefur2021-11-121-1/+7
| | | | | Makes it so that returning e.g. util.cache :table() produces useful output, which otherwise would look like empty tables.
* mod_admin_shell: Specify a width for cert columnKim Alvefur2021-11-101-0/+1
| | | | Avoids ellipsis
* mod_admin_shell: Indicate bi-directional s2s connectionsKim Alvefur2021-11-101-1/+2
|
* mod_admin_shell: Allow passing columns as a string for convenienceKim Alvefur2021-11-101-0/+1
|
* mod_admin_shell: Optionally group session listings by host when not included ↵Kim Alvefur2021-11-101-3/+33
| | | | | | as column Similar to the earlier view
* mod_admin_shell: New table based implementation of c2s and s2s:show()Kim Alvefur2021-11-101-198/+245
| | | | | | Nicer and more readable. Thanks jonas’ and prosody@ for JID length stats to inform column widths.
* mod_pubsub: Return proper errors for disco queries on nodesKim Alvefur2021-11-011-2/+4
| | | | | Previously this would return item-not-found, even when you could see the node in disco#items.
* mod_muc_mam: Use util.dataforms timestamp validationKim Alvefur2021-10-261-14/+5
|
* mod_mam: Use util.dataforms timestamp validationKim Alvefur2021-10-261-14/+5
|
* mod_http_file_share: Move number coercion into util.dataformsKim Alvefur2021-10-251-2/+2
|
* mod_admin_adhoc: Move number coercion into util.dataformsKim Alvefur2021-10-251-8/+8
| | | | | Internal use of XEP-0122 to shift the responsibility for converting numbers to strings.
* mod_c2s,etc: Identify stanza object with appropriate functionKim Alvefur2021-10-244-9/+9
| | | | | Better than duck typing, in case anyone ever passes a non-stanza table with a 'name' field.
* mod_s2s: Fix logging of <stream:error> consistency with other modsKim Alvefur2021-10-241-1/+1
| | | | | | | `reason` was often a table, so the log said "table: 0xptr" or such. mod_c2s, mod_bosh etc logs the stream error stanza object, so better do the same. It would be nicer if this was an util.error object, but that will have to be a future change.
* mod_http_file_share: Silence luacheck warningKim Alvefur2021-10-231-1/+1
|
* mod_http_file_share: Clean up incomplete uploadsKim Alvefur2021-10-231-0/+7
| | | | | | | If the request fails in the middle then the file~ could be left behind because no code was invoked to delete it then. This gets rid of it when the request is removed. It may still be left in case of an unclean shutdown.
* mod_s2s: Don't pass unknown hostnames as stats labelKim Alvefur2021-10-211-0/+1
| | | | | Labels are supposed to be fixed sets of things, so defined hosts are okay, but not unknown hosts.
* mod_http_file_share: Allow 'Authorization' header via CORS (thanks kawaii)Kim Alvefur2021-10-201-0/+3
| | | | | | Can't find anything saying anything on whether this is needed or not. kawaii reported that both Chrome and Firefox complained unless the header was added to the list of allowed headers.
* mod_pubsub,mod_pep: Advertise maximum number of items via XEP-0122Kim Alvefur2021-10-202-0/+14
| | | | | | Clients would generally be using the "max" symbol instead of discovering this, but this also gets us validation and earlier rejection of out of bounds values.
* mod_pubsub: Prevent max_items from being set to zeroKim Alvefur2021-10-201-0/+1
| | | | | | | Disable persistence instead if no items should be persisted. XEP-0060 is not entirely clear on what either of those option really mean.
* mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436Kim Alvefur2021-10-192-0/+19
| | | | | | | | Default left as 'never' in mod_pubsub to preserve the previous behavior. Unclear if this is desirable, but can always be changed later. In mod_pep this allows turning off the automatic resending of most recent item.
* mod_http_file_share: return 401 instead of 403 if authentication failedJonas Schäfer2021-10-191-1/+1
| | | | | | | This is as per the HTTP standards [1]. Thankfully, the REQUIRED www-authenticate header is already generated by the code. [1]: https://datatracker.ietf.org/doc/html/rfc7235#section-3.1
* mod_auth_cyrus: Remove (move to community modules)Kim Alvefur2021-10-171-85/+0
| | | | mod_auth_ldap provides LDAP support without being tied to Cyrus
* mod_admin_shell: Show HTTP base-URLs in module:info()Kim Alvefur2021-10-131-1/+2
| | | | | Because it's nice, not having to find it in http:list(), which could have a lot of items.
* mod_mimicking: Correctly hook the *global* user-deleted eventKim Alvefur2021-10-121-1/+2
|
* mod_storage_xep0227: Add scram-credentials to user element rather than serverMatthew Wild2021-09-221-1/+1
|
* mod_auth_ldap: Import from prosody-modules rev f52452911187Kim Alvefur2021-10-051-0/+154
|
* mod_carbons: Advertise following of recommended rules (closes #1486)Kim Alvefur2021-10-051-0/+2
| | | | We're doing our best!
* mod_s2s_auth_certs: Collect stats on validation results (for #975)Kim Alvefur2021-10-051-0/+4
|
* mod_csi_simple: Provide custom set of timing bucketsKim Alvefur2021-10-051-1/+2
| | | | | | The default of 0.001..100.0 did not feel suitable here. This might be better. Longer is better and hold times less than a few seconds is generally undesirable.
* mod_admin_shell: Allow passing an exit code to server:shutdown()Kim Alvefur2021-09-301-2/+2
| | | | Mirroring the internal API
* mod_posix: Exit with non-zero status code on problemsKim Alvefur2021-09-301-4/+4
| | | | | Previously it would default to exit with 0 as status code, meaning success, which is weird.
* mod_http_errors: Make it easier to override 'http-message' handlerKim Alvefur2021-09-241-1/+1
| | | | | | Per the unspoken internal standard of -1 as priority for most built-in event handlers, since this makes it easy for 3rd party plugins to override behavior by hooking at the default priority of 0.
* mod_mam: Merge main and RSM-specific log message here tooKim Alvefur2021-09-231-10/+10
|
* mod_muc_mam: Fix reference to "user" in debug message copied from mod_mamKim Alvefur2021-09-231-1/+1
|
* mod_muc_mam: Merge main and RSM-specific log message into a single oneKim Alvefur2021-09-231-9/+7
|
* mod_muc_mam: Fix copypaste mistake in debug loggingKim Alvefur2021-09-231-1/+1
| | | | | This line was copied from mod_mam, where `origin.username` made sense, less so here.
* mod_message: Fire event for groupchat messages sent to bare JIDMatthew Wild2021-09-221-0/+9
| | | | | | | | This is becoming more common in XMPP as people experiment with a MIX-like model where the bare JID joins a group chat instead of a full JID. Specifically right now this is being added to help with processing notifications from mod_muc_offline_delivery.
* mod_bosh: Fix typo in commentKim Alvefur2021-09-191-1/+1
|
* mod_register_limits: Reword some optionsKim Alvefur2021-09-191-19/+21
| | | | Remember to remove the compatibility things in some future version
* MUC: Reject full JID in affiliation queriesKim Alvefur2021-09-171-0/+3
| | | | | | | | | | XEP-0045 states: > Affiliations are granted, revoked, and maintained based on the user's > bare JID, not the nick as with roles. Therefore inclusion of a full JID in affiliation queries is invalid. Thanks to Ge0rG and Poezio for discovering this issue.
* mod_pubsub: Advertise support for 'max' as value for max_itemsKim Alvefur2021-09-151-0/+4
| | | | Ref #1643
* mod_http_file_share: Fix measuring how long periodic task takeKim Alvefur2021-09-141-2/+6
|
* mod_message: Clarify purpose of username field in offline message eventKim Alvefur2021-09-121-2/+2
| | | | | Added in 03714861f8fc but it did not appear to be used anywhere until offline message "handling" was added to mod_mam in 8141645e3865
* mod_carbons: Reduce line count using new util.stanza attr methodKim Alvefur2021-09-121-4/+2
|