aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* mod_mam: Reduce line count using new util.stanza attr methodKim Alvefur2021-09-121-4/+2
| | | | | Since this stanza-id was generated elsewhere in mod_mam, there should be no need for normalization.
* mod_http_file_share: Measure current total usageKim Alvefur2021-09-121-0/+7
| | | | | In order to allow monitoring. Especially as there's not much in the way of hard numbers on how much space gets used.
* mod_storage_xep0227: Update for XEP-0227 r1.1: Support for SCRAM, MAM, PEPMatthew Wild2021-09-121-23/+495
|
* mod_pubsub/pubsub.lib: Export config forms for use by other modulesMatthew Wild2021-09-111-0/+3
| | | | In this case I need them for 227 import/export.
* mod_http_file_share: Fix traceback in global quota debug logging (thanks Martin)Kim Alvefur2021-09-121-2/+4
| | | | | Error in util.human.units.format because of B(nil) when the global quota is unset.
* mod_http_file_share: Add optional global quota on total storage usageKim Alvefur2021-09-121-3/+55
| | | | | | | | | | | | | | | Before, maximum storage usage (assuming all users upload as much as they could) would depend on the quota, retention period and number of users. Since number of users can vary, this makes it hard to know how much storage will be needed. Adding a limit to the total overall storage use solves this, making it simple to set it to some number based on what storage is actually available. Summary job run less often than the prune job since it touches the entire archive; and started before the prune job since it's needed before the first upload.
* mod_c2s: Rename Direct TLS listener 'c2s_direct_tls' for clarityKim Alvefur2021-09-091-1/+1
| | | | And to follow existing naming practices better than 'legacy_ssl' did.
* mod_s2s: Rename Direct TLS listener 's2s_direct_tls'Kim Alvefur2021-09-091-1/+1
| | | | | Following the style of other options like (c2s|s2s)_require_encryption, s2s_secure_auth etc.
* mod_s2s: Add a Direct TLS listenerKim Alvefur2021-08-101-0/+14
| | | | | | Mirroring the c2s 'direct_tls'. Naming things is hard. direct_tls_s2s_ports = { 5269+1 }
* mod_s2s: Handle connections having TLS from the startKim Alvefur2021-08-101-0/+4
| | | | | This could be done with multiplexing, or a future additional port definition.
* mod_s2s: Factor out procedure for newly encrypted sessionsKim Alvefur2021-08-101-12/+16
| | | | | Goal is to call this if the connection is using Direct TLS, either via multiplexing or a future Direct TLS S2S port.
* mod_bosh,mod_websocket: Make into global-shared modules (...again)Kim Alvefur2021-06-212-22/+28
| | | | | | | | | | | | Global modules aren't quite considered loaded onto hosts, which causes confusion in some cases. They are also reported in the log as being served on http://*:5280/foo which is also a bit confusing, and can't be clicked. Global modules also have to have their paths configured in the global section, which could be confusing and unexpected. This global+shared method should be the best of both worlds.
* mod_c2s,mod_s2s: Indicate stanza size violation with condition from XEP-0205 ↵Kim Alvefur2021-09-062-2/+10
| | | | (thanks mjk)
* mod_pubsub: Move reversal of item order in <items>Kim Alvefur2021-09-051-3/+9
| | | | | | | | | | | | Examples in XEP-0060 suggest that items should be listed in chronological order, but we get them from the archive in reverse order. However when requesting specific items by id the results keep that order and we don't want to flip it again. At some point it would likely be best to use the archive API directly instead of this util.cache-compatible wrapper.
* mod_pubsub: Add support for limiting result size #1608Kim Alvefur2021-09-051-1/+5
|
* mod_tls: Attempt STARTTLS on outgoing unencrypted legacy s2s connectionsKim Alvefur2021-09-011-0/+8
| | | | As suggested by RFC 7590
* mod_storage_internal: Stop storing XEP-0091 timestampKim Alvefur2021-09-041-2/+1
| | | | | | | Should no longer be used by anything since the conversion of mod_offline to the archive API in 0.10.0, which was 4 years ago. The line clearing the property is left for a bit longer in case someone has very old offline messages or archived data.
* mod_mam: Suppress offline message broadcast for MAM clientsKim Alvefur2021-08-311-0/+7
| | | | | | | | MattJ on 09:34:24 > Zash: I think as a first step, offline messages should not be sent to > clients that request MAM https://chat.modernxmpp.org/log/modernxmpp/2021-08-31#2021-08-31-8518a542bd283686
* mod_mam: Only check for locally generated stanza-idsKim Alvefur2021-08-311-2/+5
| | | | | | Otherwise a message archived by a remote server would be incorrectly silently discarded. This should be safe from spoofing thanks to strip_stanza_id earlier in the event chain.
* mod_mam: Explain behavior with absent mod_offline in a commentKim Alvefur2021-08-311-0/+4
|
* mod_mam: "Handle" messages that have been archived in the absense of mod_offlineKim Alvefur2020-06-251-0/+7
|
* mod_external_services: Factor out public function for converting to XMLKim Alvefur2021-08-301-28/+21
| | | | | | | | Along with the previous commit, allows building the XML thing yourself, should you wish to send it yourself or use it in a different context than an iq reply. API change: The 'reply' is removed from the event.