aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* net.server_epoll: Separate handling of "closed" from other errorsKim Alvefur2021-09-221-7/+7
| | | | | | The intent is to ensure 'ondisconnect' only gets called once, while giving buffered outgoing data a last chance to be delivered via the :close() path in case the connection was only shutdown in one direction.
* net.server_epoll: Skip attempt to flush write buffer when not connectedKim Alvefur2021-09-221-1/+1
| | | | | | | | Before 22825cb5dcd8 connection attempts that failed (e.g. connection refused) would be immediately destroyed. After, it would schedule another write cycle and then report 'ondisconnect' again when failing. Thanks Martin for reporting
* Merge 0.11->trunkKim Alvefur2021-09-202-1/+19
|\
| * net.server_epoll: Add a hard deadline on shutdown to extra-fix #1670Kim Alvefur2021-09-201-0/+12
| | | | | | | | Should ensure shutdown even if sockets somehow take a very long to get closed.
| * net.server_epoll: Close sockets added after shutdown signal (fixes #1670)Kim Alvefur2021-09-201-0/+6
| | | | | | | | | | This should ensure that sockets get closed even if they are added after the quit signal. Otherwise they may keep the server alive.
| * prosodyctl: Fix later import of LuaFileSystemKim Alvefur2021-09-111-1/+1
| | | | | | | | | | | | lfs or WHAT How did this even happen?
* | mod_bosh: Fix typo in commentKim Alvefur2021-09-191-1/+1
| |
* | mod_register_limits: Reword some optionsKim Alvefur2021-09-192-19/+25
| | | | | | | | 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.
* | net.server_epoll: Fix indentation messed up in last mergeKim Alvefur2021-09-171-27/+27
| | | | | | | | Seems to have happened in 6427e2642976, probably because of Meld
* | net.server_epoll: Don't immediately destroy upon getting closed on readKim Alvefur2021-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | Instead try to write any remaining buffered data. If the write attempt also fails with "closed" then there's nothing we can do and the socket is gone. This reverts what appears to be a mistakenly included part of c8aa66595072 Thanks jonas’ for noticing
* | 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
| |
* | util.prosodyctl.check: Suggest replacing 'use_libevent' with 'network_backend'Kim Alvefur2021-09-141-1/+1
| | | | | | | | It's basically deprecated
* | util.prosodyctl.check: Nudge towards plural port optionsKim Alvefur2021-09-141-1/+3
| | | | | | | | The singulars are supposed to be deprecated
* | util.prosodyctl.check: Fix to not treat some options as misplacedKim Alvefur2021-09-141-0/+2
| | | | | | | | | | All 'net' providers generate a _port option which must be in the global section, but this mistakenly also warns about these options as well.
* | util.prosodyctl.check: Suggest replacements for deprecated options #1684Kim Alvefur2021-09-141-14/+28
| |
* | 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.
* | net.server_epoll: Try to make port number related methods saneKim Alvefur2021-09-121-7/+11
| | | | | | | | | | | | | | | | | | Previously it was unclear whether "client port" was the port that the client connected to, or from. I hereby declare that the client port is the source port and the server port is the destination port. Incoming and outgoing connections can be distinguished by looking at the_server reference, which only incoming connections have.
* | doap: Remove entry that confused XEP-0277 with XEP-0227Kim Alvefur2021-09-121-7/+0
| |
* | doap: Mention mod_storage_xep0227Kim Alvefur2021-09-121-1/+1
| |
* | doap: Specify version of XEP-0227 usedKim Alvefur2021-09-121-0/+1
| |
* | mod_storage_xep0227: Update for XEP-0227 r1.1: Support for SCRAM, MAM, PEPMatthew Wild2021-09-121-23/+495
| |
* | util.set: Add :contains_set() methodMatthew Wild2021-09-121-0/+9
| |
* | util.array: Add :slice() method + testsMatthew Wild2021-09-122-0/+53
| | | | | | | | Behaviour follows the same logic as string.sub (so yes, 1-indexed).
* | util.stanza: Add :get_child_with_attr() + testsMatthew Wild2021-09-122-0/+28
| |
* | 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.
* | util.prosodyctl.check: Remove stray debug print()Kim Alvefur2021-09-121-1/+0
| |
* | util.prosodyctl.check: Ignore unused "ok" variable [luacheck]Kim Alvefur2021-09-121-1/+1
| |
* | 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.
* | util.prosodyctl.check: Refuse to do ojn test unless prosody is runningKim Alvefur2021-09-111-0/+9
| | | | | | | | | | Other tests don't require a running prosody and I forgot to start it when testing.
* | prosodyctl: Add external connectivity check based on observe.jabber.networkJonas Schäfer2020-05-062-9/+88
| | | | | | | | | | | | | | This uses the (experimental) observe.jabber.network API to perform external connectivity checks. The idea is to complement the checks prosodyctl can already do with a (nearly) complete s2s/c2s handshake from a remote party to test the entire stack.
* | mod_c2s: Rename Direct TLS listener 'c2s_direct_tls' for clarityKim Alvefur2021-09-093-3/+3
| | | | | | | | And to follow existing naming practices better than 'legacy_ssl' did.
* | util.prosodyctl.check: Add TODO about replacements for deprecated settingsKim Alvefur2021-09-091-0/+1
| |
* | util.prosodyctl.check: Check for server-to-server Direct TLS recordsKim Alvefur2021-09-091-1/+24
| |
* | 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-103-2/+16
| | | | | | | | | | | | 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-063-2/+17
| | | | | | | | (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-052-1/+201
| |
* | util.pubsub: Add support for limiting number of items to retrieveKim Alvefur2021-09-052-1/+63
| | | | | | | | | | Hopefully this will eventually be upgraded to RSM, which is why the argument is called 'resultspec' and is a table.
* | 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.