aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mod_user_account_management: Add support for soft-deletion of accounts via IBRMatthew Wild2023-11-301-13/+137
| | | | | | | | | | | | When registration_delete_grace_period is set, accounts will be disabled for the specified grace period before they are fully deleted. During the grace period, accounts can be restored with the user:restore() shell command. The primary purpose is to prevent accidental or malicious deletion of a user's account, which is traditionally very easy for any XMPP client to do with a single stanza.
* moduleapi: Log error message when ambiguous period spec is found in configMatthew Wild2023-11-301-1/+9
|
* util.human.io: Don't accept ambiguous durations by defaultMatthew Wild2023-11-302-4/+49
| | | | | The new method parse_duration_lax() exports the old behaviour, mainly for compatibility purposes.
* mod_cron: Update Teal source and rebuildMatthew Wild2023-11-302-77/+101
|
* mod_cron: Rename variable to fix shadowing (#luacheck)Matthew Wild2023-11-301-2/+2
|
* mod_cron: Add shell command to list registered cron tasks with statusMatthew Wild2023-11-301-0/+28
|
* mod_saslauth: Allow plugins to override return SASL condition/textMatthew Wild2023-11-301-1/+3
|
* luacheckrc, mod_http_file_share: Update for module API change (once->on_ready)Matthew Wild2023-11-302-2/+2
|
* modulemanager: Allow modules to expose module.ready - to be called after initMatthew Wild2023-11-301-0/+4
| | | | | | | | This is a shortcut for module:on_ready() which exposes the functionality in an idiomatic way consistent with module.load, module.unload, etc. module.ready runs when the module is loaded and the server has finished starting up.
* moduleapi: Rename :once() to :on_ready() for clarityMatthew Wild2023-11-301-1/+7
| | | | | | | 'Once' is ambiguous - once per what? on_ready() executes its parameter when the module is loaded *and* the server has finished starting.
* usermanager, mod_auth_internal_hashed: Support metadata when disabling a userMatthew Wild2023-11-302-4/+5
| | | | | This allows us to store a time, actor, comment and/or reason why an account was disabled, which seems a generally useful thing to support.
* util.datamanager: Load first item into index earlierKim Alvefur2023-11-271-1/+2
| | | | Should get rid of fseek() call
* mod_mam: Use for loop in metadata queryKim Alvefur2023-11-261-4/+2
| | | | | | Some storage drivers will perform cleanup after the last iteration, but if only one step is taken this might be delayed until the garbage collector gets to it.
* mod_tokenauth: Ignore invalid grants in storage that have no idMatthew Wild2023-11-291-1/+1
|
* mod_invites: Fix linter issuesMatthew Wild2023-11-291-4/+4
|
* mod_admin_shell: Fix linter issuesMatthew Wild2023-11-291-24/+26
|
* mod_invites: Use new shell-command APIMatthew Wild2023-11-291-22/+25
|
* mod_admin_shell: Remove verbose loggingMatthew Wild2023-11-291-4/+0
|
* mod_admin_shell: Remove timer:info() (it's been debug:timers() for some time)Matthew Wild2023-11-291-3/+0
|
* mod_admin_shell: Support for 'shell-command' items (global and per-host)Matthew Wild2023-11-291-0/+169
| | | | | | This should simplify adding shell commands from other modules, which will reduce the growth of mod_admin_shell and make it easier for community modules to expose commands too.
* mod_admin_shell: Refactor help to data structures for extensibilityMatthew Wild2023-11-291-157/+239
| | | | | This makes it easier for commands added by other modules to add to the help output, for example.
* migrator: Add an escape hatch to allow arbitrary config optionsKim Alvefur2023-11-271-0/+5
| | | | | | | | | | | | Previously only SQL settings and the 'path' for internal storage could be set, and only for SQL and internal storage. input { type = "whatever"; config = { whatever_foobar = "something" } }
* util.poll: Rename things to clarify poll(2) limitsKim Alvefur2023-11-271-5/+7
| | | | | | With epoll(7), MAX_EVENTS controls how many events can be retrieved in one epoll_wait call, while with poll(2) this MAX_WATCHED controls how many sockets or other FDs can be watched at once.
* mod_storage_internal: Clear archive item count cache after experimental trimKim Alvefur2023-11-261-1/+3
| | | | | | | The previous count would be invalid at this point. Should be possible to math out how many items are left, but this is left as future work.
* mod_blocklist: Remove weak cache (and increase default LRU cache size)Kim Alvefur2023-11-261-18/+10
| | | | | | | Weak tables are said to have suboptimal performance, so we might as well get replace it with an increased default LRU cache size. Sorry about the 'and'
* mod_storage_internal: Close lazy-loading list abstraction after trimKim Alvefur2023-11-261-0/+6
| | | | Should be done here too.
* mod_storage_internal: Only close lazy-loading list store abstractionsKim Alvefur2023-11-261-1/+3
| | | | | Since datamanager can fall back to the old method of loading the whole list, which wouldn't come with a :close method.
* util.startup: Use prosody. module namespaceKim Alvefur2023-11-241-1/+1
| | | | Maybe we need some sort of lint for this?
* net.http.server: Complete async waiter for non-persistent connectionsKim Alvefur2023-11-241-3/+2
| | | | | | | | | Otherwise requests with Connection: close would be stuck in the async wait that starts after the handle_request() call. Together with the new async debugging, this makes the async thread stay in the set of waiting runners forever, where previously it would simply be garbage collected.
* mod_storage_internal: Close archive list after completion of iterationKim Alvefur2023-11-231-0/+1
| | | | | This closes the two FDs that the random access list abstraction uses, otherwise they are left to the garbage collector.
* mod_pubsub: Provide some node properties in summary template #1809Kim Alvefur2023-11-221-1/+11
| | | | | | Gives some access to node details which are otherwise hard to determine if you only see the plain text summary, since it is shared based on the pubsub#type setting (or payload xmlns).
* mod_admin_shell: Fix lint [luacheck]Kim Alvefur2023-11-211-10/+8
|
* util.async: Clip long line [luacheck]Kim Alvefur2023-11-211-1/+2
|
* net.server_epoll: Avoid call to update socket watch flags when nothing changedKim Alvefur2023-11-211-0/+3
| | | | Should skip a syscall for each write when using epoll.
* util.poll: Quadruple number of events retrieved at once from epollKim Alvefur2023-11-211-1/+1
| | | | | | Better performance under load maybe? See b890ceb1c24f for previous increase
* mod_admin_shell: Add debug:async() command to show blocked async runnersMatthew Wild2023-11-211-0/+65
|
* util.async: Expose default runner functionMatthew Wild2023-11-211-0/+2
| | | | | | This is purely for informational purposes, so it's possible to determine externally whether a runner is using the default runner function (which executes functions as work items) or a custom runner function.
* util.async: Record current work item in the runner objectMatthew Wild2023-11-211-0/+5
| | | | Mostly expected to be useful for debugging purposes.
* util.async: Improve debug logging in a few placesMatthew Wild2023-11-211-2/+5
| | | | Knowing the state of the coroutine as well as the runner state can be helpful.
* util.async: Export a table of currently-waiting runnersMatthew Wild2023-11-211-0/+5
| | | | This can be used for debugging and introspection.
* util.poll: Return early if given zero timeout and no pending eventsKim Alvefur2023-11-211-0/+6
| | | | | Should have been part of f33887f925e1 to ensure it won't skip processing timers at all when very busy.
* moduleapi: Update Teal specKim Alvefur2023-11-131-1/+4
| | | | Updates for 65fb0d7a2312::59c3d775c7fa
* util.prosodyctl.check: Disable https cert check if http_external_url setKim Alvefur2023-11-131-0/+4
| | | | | This would indicate that a reverse proxy is used, which gets to be responsible for that since it probably holds the actual cert.
* util.prosodyctl.check: Check cert for HTTPS if http module enabledKim Alvefur2023-11-131-3/+13
|
* util.prosodyctl.check: Update conditions for s2s cert checksKim Alvefur2023-11-131-3/+3
| | | | | | The 'anonymous_login' setting is deprecated and prosodyctl check config will tell you to change it to 'authentication = "internal_hashed"', so we shouldn't need to care about here anymore.
* util.prosodyctl.check: Simplify conditions for c2s and s2s cert checksKim Alvefur2023-11-131-3/+3
| | | | This code is hard to follow and in need of some refactoring.
* tools/build-env: Tools for building and testing in a containerKim Alvefur2023-11-123-0/+61
| | | | | | | | | ./tools/build-env/build.sh Creates a container image based on Debian or Ubuntu ./tools/build-env/here.sh Starts a container and mounts in the current working directory, from where one can ./configure; make; make test etc
* mod_s2s_auth_dane_in: Bail out on explicit service denialKim Alvefur2023-11-121-0/+1
|
* mod_tokenauth: Include more details in debug logsKim Alvefur2023-11-121-5/+5
| | | | | Had a hard time following what was happening when it did not specify which grant or token was being removed.
* net.http: Set Connection header based on connection pool usageKim Alvefur2023-11-111-1/+8
| | | | Connection: keep-alive is implicit in HTTP/1.1 but explicit > implicit