aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* util.startup: Allow separate command line argument settings for prosody and ↵Kim Alvefur2021-09-301-6/+11
| | | | | | | prosodyctl Makes it clearer that prosody does not take -v atm, as well as how prosodyctl does not take the demonization flags.
* prosodyctl: Add support for -v/--verbose to enable debug loggingKim Alvefur2021-09-301-2/+4
| | | | More convenient than the environment variable.
* prosodyctl: Add alternate XMPP Blackbox Exporter connectivity checkKim Alvefur2021-09-301-3/+71
| | | | | Reduces the reliance on observe.jabber.network and enables alternatives for those who wish to have that.
* prosodyctl: Use HTTP client in promise mode for connectivity checkKim Alvefur2021-09-301-26/+14
| | | | | Feels a bit cleaner to hide away the async.waiter() and return value handling. Also line count reduction!
* core.moduleapi: Ensure module:send_iq() handler priority over mod_iqKim Alvefur2021-09-241-2/+2
| | | | | | To prevent a situation where you for whatever reason use a full JID that is currently online and the response ends up routed there instead of the module:send_iq() handlers.
* core.moduleapi: Enable full JID origin queries with module:send_iq()Kim Alvefur2021-09-241-2/+11
| | | | | Since we don't currently have hooks that includes type and id here, we need to check those attributes in the handlers.
* core.moduleapi: Filter out unrelated direct replies to module:send_iqKim Alvefur2021-09-241-1/+4
| | | | | | | | | | | This is primarily something that happens with an internal query to mod_mam, which calls origin.send() several times with results, leading to the first such result being treated as the final response and resolving the promise. Now, these responses pass trough to the underlying origin.send(), where they can be caught. Tricky but not impossible. For remote queries, it's even trickier, you would likely need to bind a resource or similar.
* 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.
* 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.